Merge pull request #19946 from Homebrew/SMillerDev-patch-1

feat: allow env for write_jar_script
This commit is contained in:
Sean Molenaar 2025-05-26 14:36:15 +00:00 committed by GitHub
commit f420f0f63d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -423,15 +423,18 @@ class Pathname
script_name: T.any(String, Pathname), script_name: T.any(String, Pathname),
java_opts: String, java_opts: String,
java_version: T.nilable(String), java_version: T.nilable(String),
env: T::Hash[Symbol, String],
).returns(Integer) ).returns(Integer)
} }
def write_jar_script(target_jar, script_name, java_opts = "", java_version: nil) def write_jar_script(target_jar, script_name, java_opts = "", java_version: nil, env: {})
env.merge!(Language::Java.overridable_java_home_env(java_version))
env_export = +""
env.each { |key, value| env_export << "#{key}=\"#{value}\" " }
mkpath mkpath
(self/script_name).write <<~EOS (self/script_name).write <<~SH
#!/bin/bash #!/bin/bash
export JAVA_HOME="#{Language::Java.overridable_java_home_env(java_version)[:JAVA_HOME]}" #{env_export}exec "${JAVA_HOME}/bin/java" #{java_opts} -jar "#{target_jar}" "$@"
exec "${JAVA_HOME}/bin/java" #{java_opts} -jar "#{target_jar}" "$@" SH
EOS
end end
def install_metafiles(from = Pathname.pwd) def install_metafiles(from = Pathname.pwd)