1 class DjlServing < Formula
2 desc "This module contains an universal model serving implementation"
3 homepage "https://github.com/deepjavalibrary/djl-serving"
4 url "https://publish.djl.ai/djl-serving/serving-0.31.0.tar"
5 sha256 "c56c91063d822f00e1d9d6cc6049e9d55a5f2e586920a5b29e4c1e6ab8b28daa"
8 # `djl-serving` versions aren't considered released until a corresponding
9 # release is created in the main `deepjavalibrary/djl` repository.
11 url "https://github.com/deepjavalibrary/djl"
12 strategy :github_latest
16 sha256 cellar: :any_skip_relocation, all: "fee22666bf7fe1ea8043c52c077dbaf8c9514c86bcd435ae30c3d35199289090"
23 rm_r(Dir["bin/*.bat"])
24 mv "bin/serving", "bin/djl-serving"
25 libexec.install Dir["*"]
26 env = { MODEL_SERVER_HOME: "${MODEL_SERVER_HOME:-#{var}}" }
27 env.merge!(Language::Java.overridable_java_home_env)
28 (bin/"djl-serving").write_env_script "#{libexec}/bin/djl-serving", env
32 run [opt_bin/"djl-serving", "run"]
38 (testpath/"config.properties").write <<~EOS
39 inference_address=http://127.0.0.1:#{port}
40 management_address=http://127.0.0.1:#{port}
42 ENV["MODEL_SERVER_HOME"] = testpath
43 cp_r Dir["#{libexec}/*"], testpath
45 exec bin/"djl-serving -f config.properties"
48 cmd = "http://127.0.0.1:#{port}/ping"
49 assert_match "{}\n", shell_output("curl --fail #{cmd}")