homebrew-core/Formula/openapi-generator.rb
William Cheng fa2a9aca6e
openapi-generator-3.2.3
Closes #31602.

Signed-off-by: Chongyu Zhu <i@lembacon.com>
2018-08-31 01:58:49 +08:00

52 lines
1.6 KiB
Ruby

class OpenapiGenerator < Formula
desc "Generate clients, server & docs from an OpenAPI spec (v2, v3)"
homepage "https://openapi-generator.tech/"
url "https://search.maven.org/remotecontent?filepath=org/openapitools/openapi-generator-cli/3.2.3/openapi-generator-cli-3.2.3.jar"
sha256 "8579b4f1d02c78a4736d451963b3417a318e35dbe0032e192385ad7e26ab92a6"
head do
url "https://github.com/OpenAPITools/openapi-generator.git"
depends_on "maven" => :build
end
bottle :unneeded
depends_on :java => "1.8"
def install
# Need to set JAVA_HOME manually since maven overrides 1.8 with 1.7+
cmd = Language::Java.java_home_cmd("1.8")
ENV["JAVA_HOME"] = Utils.popen_read(cmd).chomp
if build.head?
system "mvn", "clean", "package"
libexec.install "modules/openapi-generator-cli/target/openapi-generator-cli.jar"
bin.write_jar_script libexec/"openapi-generator-cli.jar", "openapi-generator"
else
libexec.install "openapi-generator-cli-#{version}.jar"
bin.write_jar_script libexec/"openapi-generator-cli-#{version}.jar", "openapi-generator"
end
end
test do
(testpath/"minimal.yaml").write <<~EOS
---
swagger: '2.0'
info:
version: 0.0.0
title: Simple API
host: localhost
basePath: /v2
schemes:
- http
paths:
/:
get:
operationId: test_operation
responses:
200:
description: OK
EOS
system bin/"openapi-generator", "generate", "-i", "minimal.yaml", "-g", "openapi"
end
end