class Crowdin < Formula desc "Command-line tool that allows to manage your resources with crowdin.com" homepage "https://support.crowdin.com/cli-tool/" url "https://github.com/crowdin/crowdin-cli/releases/download/3.8.1/crowdin-cli.zip" sha256 "f67f33d2db6586b73ad9ef889ceb35009a63140a253c38856acdaa022604942c" license "MIT" livecheck do url :stable regex(/^v?(\d+(?:\.\d+)+)$/i) end bottle do sha256 cellar: :any_skip_relocation, all: "36ba6ad25054740d08a818bf580c89b091f3a5a0bf6dfa3ac5a0d66024e1349f" end depends_on "openjdk" def install libexec.install "crowdin-cli.jar" bin.write_jar_script libexec/"crowdin-cli.jar", "crowdin" end test do (testpath/"crowdin.yml").write <<~EOS "project_id": "12" "api_token": "54e01--your-personal-token--2724a" "base_path": "." "base_url": "https://api.crowdin.com" # https://{organization-name}.crowdin.com "preserve_hierarchy": true "files": [ { "source" : "/t1/**/*", "translation" : "/%two_letters_code%/%original_file_name%" } ] EOS assert "Your configuration file looks good", shell_output("#{bin}/crowdin lint") assert "Failed to authorize in Crowdin", shell_output("#{bin}/crowdin upload sources --config #{testpath}/crowdin.yml", 1) end end