class Payara < Formula desc "Java EE application server forked from GlassFish" homepage "https://www.payara.fish" url "https://search.maven.org/remotecontent?filepath=fish/payara/distributions/payara/4.1.2.173/payara-4.1.2.173.zip" sha256 "944fae8fa38e83cf291e6176152827113a4733174096c49a2cf3d218ba1ad7f2" bottle :unneeded depends_on :java => "1.7+" conflicts_with "glassfish", :because => "both install the same scripts" def install # Remove Windows scripts rm_f Dir["**/*.{bat,exe}"] inreplace "bin/asadmin", /AS_INSTALL=.*/, "AS_INSTALL=#{libexec}/glassfish" libexec.install Dir["*"] bin.install_symlink Dir["#{libexec}/bin/*"] end def caveats; <<~EOS You may want to add the following to your .bash_profile: export GLASSFISH_HOME=#{opt_libexec}/glassfish export PATH=${PATH}:${GLASSFISH_HOME}/bin EOS end plist_options :manual => "asadmin start-domain --verbose domain1" def plist; <<~EOS Label #{plist_name} KeepAlive Crashed SuccessfulExit WorkingDirectory #{opt_libexec}/glassfish EnvironmentVariables GLASSFISH_HOME #{opt_libexec}/glassfish ProgramArguments #{opt_libexec}/glassfish/bin/asadmin start-domain --verbose domain1 EOS end test do ENV["GLASSFISH_HOME"] = opt_libexec/"glassfish" output = shell_output("#{bin}/asadmin list-domains") assert_match /^domain1 not running$/, output assert_match /^payaradomain not running$/, output assert_match /^Command list-domains executed successfully\.$/, output end end