feat: add env for write_jar_script again

This commit is contained in:
Daeho Ro 2025-05-27 00:24:57 +09:00
parent fe3783d711
commit 970b970f61
No known key found for this signature in database

View File

@ -423,15 +423,19 @@ 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[String, 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_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]}" export JAVA_HOME="#{Language::Java.overridable_java_home_env(java_version)[:JAVA_HOME]}"
exec "${JAVA_HOME}/bin/java" #{java_opts} -jar "#{target_jar}" "$@" #{env_export}exec "${JAVA_HOME}/bin/java" #{java_opts} -jar "#{target_jar}" "$@"
EOS SH
end end
def install_metafiles(from = Pathname.pwd) def install_metafiles(from = Pathname.pwd)