49 lines
1.7 KiB
Ruby
49 lines
1.7 KiB
Ruby
# Template used by update-homebrew-tap.sh. Placeholder strings are replaced at
|
|
# release time before this formula is pushed to kdlbs/homebrew-kandev.
|
|
class Kandev < Formula
|
|
desc "Manage tasks, orchestrate agents, review changes, and ship value"
|
|
homepage "https://github.com/kdlbs/kandev"
|
|
license "AGPL-3.0-only"
|
|
version "__VERSION__"
|
|
|
|
# Node is required: the CLI launcher and Next.js standalone server both need it.
|
|
depends_on "node"
|
|
|
|
on_macos do
|
|
if Hardware::CPU.arm?
|
|
url "__GITHUB_BASE__/kandev-macos-arm64.tar.gz"
|
|
sha256 "__SHA_MACOS_ARM64__"
|
|
else
|
|
url "__GITHUB_BASE__/kandev-macos-x64.tar.gz"
|
|
sha256 "__SHA_MACOS_X64__"
|
|
end
|
|
end
|
|
|
|
on_linux do
|
|
if Hardware::CPU.arm?
|
|
url "__GITHUB_BASE__/kandev-linux-arm64.tar.gz"
|
|
sha256 "__SHA_LINUX_ARM64__"
|
|
else
|
|
url "__GITHUB_BASE__/kandev-linux-x64.tar.gz"
|
|
sha256 "__SHA_LINUX_X64__"
|
|
end
|
|
end
|
|
|
|
def install
|
|
libexec.install Dir["*"]
|
|
# cli/bin/cli.js has #!/usr/bin/env node shebang. (bin/"kandev").write_env_script
|
|
# creates a wrapper at $HOMEBREW_PREFIX/bin/kandev that sets KANDEV_BUNDLE_DIR
|
|
# (so the CLI launcher finds bin/ and web/ in the Cellar) and KANDEV_VERSION
|
|
# (read by run.ts at startup so the launcher logs "release: X.Y.Z" instead of
|
|
# "release: (env)"). Calling write_env_script on the bin directory itself would
|
|
# name the wrapper after the target's basename (cli.js), giving the wrong name.
|
|
(bin/"kandev").write_env_script libexec/"cli/bin/cli.js",
|
|
KANDEV_BUNDLE_DIR: libexec.to_s,
|
|
KANDEV_VERSION: version.to_s
|
|
end
|
|
|
|
test do
|
|
assert_match "kandev launcher", shell_output("#{bin}/kandev --help")
|
|
end
|
|
end
|