class AliyunCli < Formula desc "Universal Command-Line Interface for Alibaba Cloud" homepage "https://github.com/aliyun/aliyun-cli" url "https://github.com/aliyun/aliyun-cli/archive/v3.0.25.tar.gz" sha256 "e1a9e331b557741030617a0a82a7e4e791bce7f88556e763db43f12c3bc9c7a5" bottle do cellar :any_skip_relocation sha256 "eb3ba7cb7689a69fe289a59cfee713f2d9dee019b561af7b674e833b14a6d940" => :mojave sha256 "8dc4a0c76b97d36207e8c68d5499fc1bae69fcb46167440e6080930869659bb4" => :high_sierra sha256 "ab33d3f5968de78b93abd822eddaaf91b9fff3908ced8f44d4f83f794ad01f55" => :sierra end depends_on "go" def install ENV["GOPATH"] = buildpath ENV["PATH"] = "#{ENV["PATH"]}:#{buildpath}/bin" (buildpath/"src/github.com/aliyun/aliyun-cli").install buildpath.children cd "src/github.com/aliyun/aliyun-cli" do system "make", "metas" system "go", "build", "-o", bin/"aliyun", "-ldflags", "-X 'github.com/aliyun/aliyun-cli/cli.Version=#{version}'", "main/main.go" prefix.install_metafiles end end test do version_out = shell_output("#{bin}/aliyun version") assert_match version.to_s, version_out help_out = shell_output("#{bin}/aliyun --help") assert_match "Alibaba Cloud Command Line Interface Version #{version}", help_out assert_match "", help_out assert_match "Usage:", help_out assert_match "aliyun [--parameter1 value1 --parameter2 value2 ...]", help_out oss_out = shell_output("#{bin}/aliyun oss") assert_match "Object Storage Service", oss_out assert_match "aliyun oss [command] [args...] [options...]", oss_out end end