67 lines
2.5 KiB
Ruby
67 lines
2.5 KiB
Ruby
class Kamel < Formula
|
|
desc "Apache Camel K CLI"
|
|
homepage "https://camel.apache.org/"
|
|
url "https://github.com/apache/camel-k.git",
|
|
tag: "v1.8.0",
|
|
revision: "eb893c22ad451a45525f487af671d7d945ed722c"
|
|
license "Apache-2.0"
|
|
head "https://github.com/apache/camel-k.git", branch: "main"
|
|
|
|
livecheck do
|
|
url :stable
|
|
strategy :github_latest
|
|
end
|
|
|
|
bottle do
|
|
sha256 cellar: :any_skip_relocation, arm64_big_sur: "81af020bb729671c37fbdb3c80a83f8a0ed566d867cbd589c8258877a2103a51"
|
|
sha256 cellar: :any_skip_relocation, big_sur: "6bb0296ca01de2472629f21b1a7ce23ea659b23bf0a6cfa6bb290ba007cef964"
|
|
sha256 cellar: :any_skip_relocation, catalina: "dde46e992610679b2e3f58cd83a6fd9afb5ee97cd95b0fcaa63e3a6d8194bcbe"
|
|
sha256 cellar: :any_skip_relocation, x86_64_linux: "4070e26e7d3cd55d7c42ac8379dc49cef852804be1e3d32e6cffede8a8f3f213"
|
|
end
|
|
|
|
depends_on "go" => :build
|
|
depends_on "openjdk@11" => :build
|
|
depends_on "kubernetes-cli"
|
|
|
|
def install
|
|
ENV["JAVA_HOME"] = Language::Java.java_home("11")
|
|
system "make"
|
|
bin.install "kamel"
|
|
|
|
output = Utils.safe_popen_read("#{bin}/kamel", "completion", "bash")
|
|
(bash_completion/"kamel").write output
|
|
|
|
output = Utils.safe_popen_read("#{bin}/kamel", "completion", "zsh")
|
|
(zsh_completion/"_kamel").write output
|
|
end
|
|
|
|
test do
|
|
run_output = shell_output("#{bin}/kamel 2>&1")
|
|
assert_match "Apache Camel K is a lightweight", run_output
|
|
|
|
help_output = shell_output("echo $(#{bin}/kamel help 2>&1)")
|
|
assert_match "kamel [command] --help", help_output.chomp
|
|
|
|
get_output = shell_output("echo $(#{bin}/kamel get 2>&1)")
|
|
assert_match "Error: cannot get command client: invalid configuration", get_output
|
|
|
|
version_output = shell_output("echo $(#{bin}/kamel version 2>&1)")
|
|
assert_match version.to_s, version_output
|
|
|
|
run_output = shell_output("echo $(#{bin}/kamel run 2>&1)")
|
|
assert_match "Error: run expects at least 1 argument, received 0", run_output
|
|
|
|
run_none_output = shell_output("echo $(#{bin}/kamel run None.java 2>&1)")
|
|
assert_match "cannot read sources: missing file or unsupported scheme in None.java", run_none_output
|
|
|
|
reset_output = shell_output("echo $(#{bin}/kamel reset 2>&1)")
|
|
assert_match "Error: cannot get command client: invalid configuration", reset_output
|
|
|
|
rebuild_output = shell_output("echo $(#{bin}/kamel rebuild 2>&1)")
|
|
assert_match "Config not found", rebuild_output
|
|
|
|
reset_output = shell_output("echo $(#{bin}/kamel reset 2>&1)")
|
|
assert_match "Config not found", reset_output
|
|
end
|
|
end
|