Modularize creation of formula Base step to extract generic variables that we can then reuse for different version of gerrit in different formulas Change-Id: Idb9a799c067bd53016e35ed3a9b55f733b551c37
diff --git a/gerrit@3.11.0.rb b/gerrit@3.11.0.rb index 70e0937..19da31d 100644 --- a/gerrit@3.11.0.rb +++ b/gerrit@3.11.0.rb
@@ -1,40 +1,17 @@ # typed: false # frozen_string_literal: true -class GerritAT3110 < Formula - desc "" - homepage "https://www.gerritcodereview.com" - version "3.11.0" - url "https://tarball.gerritforge.com/gerrit-3.11.0.tar.gz" - sha256 "f18c23f6c0911012ec03dbbde09788d4d6d470e977312244c416dd6e0d3b4ae1" +require_relative "./gerritbase" - depends_on "openjdk@21" - depends_on "git" - depends_on "openssh" - - def install - mkdir_p prefix/"plugins" - (prefix/"plugins").install "plugins/uploadvalidator.jar" - (prefix/"plugins").install "plugins/avatars-gravatar.jar" - - bin.install "bin/gerrit.war" - lib.install "lib/out-of-the-box.jar" - - mkdir_p var/"gerrit" - mkdir_p var/"gerrit"/"etc" - (var/"gerrit"/"etc").install "etc/gerrit.config" - - (var/"gerrit/plugins").install_symlink Dir[prefix/"plugins/*"] - (var/"gerrit/lib").install_symlink Dir[lib/"*"] - - system "java", "-jar", bin/"gerrit.war", "init", "-d", (var/"gerrit"), "--batch", "--install-all-plugins", "--no-auto-start" - ohai "" - ohai "Gerrit site initialized in " + (var/"gerrit") - ohai "---------------------------------------------------------" - ohai " * To start Gerrit: " + (var/"gerrit/bin/gerrit.sh start") - ohai " * Gerrit will then be available at http://localhost:8080" - ohai "" - ohai " * To stop Gerrit: " + (var/"gerrit/bin/gerrit.sh stop") - ohai "" +class GerritAT3110 < GerritBase + def self.java_version + "21" end + + set_common_dependencies + + version "3.11.0" + sha256 "f18c23f6c0911012ec03dbbde09788d4d6d470e977312244c416dd6e0d3b4ae1" + url generate_url(version) + end
diff --git a/gerritbase.rb b/gerritbase.rb new file mode 100644 index 0000000..7d0b010 --- /dev/null +++ b/gerritbase.rb
@@ -0,0 +1,47 @@ +# typed: false +# frozen_string_literal: true + +class GerritBase < Formula + def self.generate_url(version) + "https://tarball.gerritforge.com/gerrit-" + version + ".tar.gz" + end + + def self.java_version + "17" + end + + def self.set_common_dependencies + depends_on "git" + depends_on "openjdk@#{java_version}" + depends_on "openssh" + end + + desc "Gerrit Code Review" + homepage "https://www.gerritcodereview.com" + + def install + mkdir_p prefix/"plugins" + (prefix/"plugins").install "plugins/uploadvalidator.jar" + (prefix/"plugins").install "plugins/avatars-gravatar.jar" + + bin.install "bin/gerrit.war" + lib.install "lib/out-of-the-box.jar" + + mkdir_p var/"gerrit" + mkdir_p var/"gerrit"/"etc" + (var/"gerrit"/"etc").install "etc/gerrit.config" + + (var/"gerrit/plugins").install_symlink Dir[prefix/"plugins/*"] + (var/"gerrit/lib").install_symlink Dir[lib/"*"] + + system "java", "-jar", bin/"gerrit.war", "init", "-d", (var/"gerrit"), "--batch", "--install-all-plugins", "--no-auto-start" + ohai "" + ohai "Gerrit site initialized in " + (var/"gerrit") + ohai "---------------------------------------------------------" + ohai " * To start Gerrit: " + (var/"gerrit/bin/gerrit.sh start") + ohai " * Gerrit will then be available at http://localhost:8080" + ohai "" + ohai " * To stop Gerrit: " + (var/"gerrit/bin/gerrit.sh stop") + ohai "" + end +end