mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
extend/pathname: use Java.overridable_java_home_env in write_jar_script
This commit is contained in:
parent
bbb2696742
commit
07547e8cae
@ -5,7 +5,8 @@ module Language
|
||||
class << self
|
||||
module Compat
|
||||
def java_home_cmd(version = nil)
|
||||
odeprecated "Language::Java::java_home_cmd", "Language::Java::java_home"
|
||||
odeprecated "Language::Java.java_home_cmd",
|
||||
"Language::Java.java_home or Language::Java.overridable_java_home_env"
|
||||
|
||||
# macOS provides /usr/libexec/java_home, but Linux does not.
|
||||
return system_java_home_cmd(version) if OS.mac?
|
||||
|
@ -18,12 +18,12 @@ module Language
|
||||
Pathname.new path if path.present?
|
||||
end
|
||||
|
||||
# @private
|
||||
def self.java_home_shell(version = nil)
|
||||
f = find_openjdk_formula(version)
|
||||
return (f.opt_libexec/"openjdk.jdk/Contents/Home").to_s if f
|
||||
|
||||
"$(#{system_java_home_cmd(version)})"
|
||||
end
|
||||
private_class_method :java_home_shell
|
||||
end
|
||||
end
|
||||
|
@ -370,12 +370,8 @@ class Pathname
|
||||
|
||||
# Writes an exec script that invokes a Java jar
|
||||
def write_jar_script(target_jar, script_name, java_opts = "", java_version: nil)
|
||||
mkpath
|
||||
java_home = ("JAVA_HOME=\"#{Language::Java.java_home_shell(java_version)}\" " if java_version)
|
||||
join(script_name).write <<~SH
|
||||
#!/bin/bash
|
||||
#{java_home}exec java #{java_opts} -jar #{target_jar} "$@"
|
||||
SH
|
||||
(self/script_name).write_env_script "java #{java_opts} -jar #{target_jar}",
|
||||
Language::Java.overridable_java_home_env(java_version)
|
||||
end
|
||||
|
||||
def install_metafiles(from = Pathname.pwd)
|
||||
|
@ -33,10 +33,10 @@ module Language
|
||||
req.java_home
|
||||
end
|
||||
|
||||
# @private
|
||||
def self.java_home_shell(version = nil)
|
||||
java_home(version).to_s
|
||||
end
|
||||
private_class_method :java_home_shell
|
||||
|
||||
def self.java_home_env(version = nil)
|
||||
{ JAVA_HOME: java_home_shell(version) }
|
||||
|
Loading…
x
Reference in New Issue
Block a user