From ca911fb44673db5851d8bbc18cbac5a3bfdf6b84 Mon Sep 17 00:00:00 2001 From: Sean Molenaar Date: Wed, 14 May 2025 11:56:31 +0200 Subject: [PATCH 1/2] feat: allow env for write_jar_script --- Library/Homebrew/extend/pathname.rb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 91337f81d1..8dee212499 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -423,15 +423,18 @@ class Pathname script_name: T.any(String, Pathname), java_opts: String, java_version: T.nilable(String), + java_version: Hash[Symbol, String], ).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 - (self/script_name).write <<~EOS + (self/script_name).write <<~SH #!/bin/bash - export JAVA_HOME="#{Language::Java.overridable_java_home_env(java_version)[:JAVA_HOME]}" - exec "${JAVA_HOME}/bin/java" #{java_opts} -jar "#{target_jar}" "$@" - EOS + #{env_export}exec "${JAVA_HOME}/bin/java" #{java_opts} -jar "#{target_jar}" "$@" + SH end def install_metafiles(from = Pathname.pwd) From 81ea767ea3486943c692695a5ed4e6ec9c99802c Mon Sep 17 00:00:00 2001 From: Sean Molenaar Date: Mon, 19 May 2025 13:58:32 +0200 Subject: [PATCH 2/2] Update Library/Homebrew/extend/pathname.rb --- Library/Homebrew/extend/pathname.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 8dee212499..01912337ad 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -423,7 +423,7 @@ class Pathname script_name: T.any(String, Pathname), java_opts: String, java_version: T.nilable(String), - java_version: Hash[Symbol, String], + env: T::Hash[Symbol, String], ).returns(Integer) } def write_jar_script(target_jar, script_name, java_opts = "", java_version: nil, env: {})