|
| 1 | +class Nessie < Formula |
| 2 | + desc "Transactional Catalog for Data Lakes with Git-like semantics" |
| 3 | + homepage "https://projectnessie.org" |
| 4 | + url "https://github.com/projectnessie/nessie/archive/refs/tags/nessie-0.104.3.tar.gz" |
| 5 | + sha256 "67ed6221ebceb3d55ed332e5461842bc3ca36273fd164d02d55498fce6af13ef" |
| 6 | + license "Apache-2.0" |
| 7 | + |
| 8 | + bottle do |
| 9 | + sha256 cellar: :any_skip_relocation, arm64_sequoia: "3c1bf0f8ef65fa160ae1c1c935de90c186c9b6664686fc9019f6397a4bf6b763" |
| 10 | + sha256 cellar: :any_skip_relocation, arm64_sonoma: "ac0c8340e59fc8816b27cd601ad369692e41d42a3a70aa26c87b560a42d66cbd" |
| 11 | + sha256 cellar: :any_skip_relocation, arm64_ventura: "622b2c514c1041795f53919c8b0e518f74cafaa98f1d8371449d1aad9343e557" |
| 12 | + sha256 cellar: :any_skip_relocation, sonoma: "d2b523fc4c44cd2fd0e00523aaa76fb190dea1061cda44ddf81c4edde8fa0cef" |
| 13 | + sha256 cellar: :any_skip_relocation, ventura: "2e3dd41f11bac0f494b2cf3714bfbf61d2f8fbfc8acdd8f709bec1c0a573a377" |
| 14 | + sha256 cellar: :any_skip_relocation, x86_64_linux: "1cc8d5a1f0457913f58a48da28015d8447a66f113472ca85e39e1595a8175d23" |
| 15 | + end |
| 16 | + |
| 17 | + depends_on "gradle@8" => :build |
| 18 | + # The build fails with more recent JDKs |
| 19 | + # See: https://github.com/projectnessie/nessie/issues/11145 |
| 20 | + depends_on "openjdk@21" |
| 21 | + |
| 22 | + def install |
| 23 | + ENV["JAVA_HOME"] = Language::Java.java_home("21") |
| 24 | + system "gradle", ":nessie-quarkus:assemble" |
| 25 | + libexec.install Dir["servers/quarkus-server/build/quarkus-app/*"] |
| 26 | + bin.write_jar_script libexec/"quarkus-run.jar", "nessie" |
| 27 | + end |
| 28 | + |
| 29 | + service do |
| 30 | + run [opt_bin/"nessie"] |
| 31 | + keep_alive true |
| 32 | + error_log_path var/"log/nessie.log" |
| 33 | + log_path var/"log/nessie.log" |
| 34 | + end |
| 35 | + |
| 36 | + test do |
| 37 | + port = free_port |
| 38 | + ENV["QUARKUS_HTTP_PORT"] = free_port.to_s |
| 39 | + ENV["QUARKUS_MANAGEMENT_PORT"] = port.to_s |
| 40 | + spawn bin/"nessie" |
| 41 | + |
| 42 | + output = shell_output("curl -s --retry 5 --retry-connrefused localhost:#{port}/q/health") |
| 43 | + assert_match "UP", output |
| 44 | + end |
| 45 | +end |
0 commit comments