Revert "Merge pull request #7722 from Bo98/java-improvements"
This reverts commit 91b4d450703bcc2de6dce22eb5fdecb5a843f92e, reversing changes made to c98901132595178b6261cbe2d51ab732dd77dac4.
This commit is contained in:
parent
b37520cc01
commit
4d27c32d44
@ -5,8 +5,7 @@ module Language
|
|||||||
class << self
|
class << self
|
||||||
module Compat
|
module Compat
|
||||||
def java_home_cmd(version = nil)
|
def java_home_cmd(version = nil)
|
||||||
odeprecated "Language::Java.java_home_cmd",
|
odeprecated "Language::Java::java_home_cmd", "Language::Java::java_home"
|
||||||
"Language::Java.java_home or Language::Java.overridable_java_home_env"
|
|
||||||
|
|
||||||
# macOS provides /usr/libexec/java_home, but Linux does not.
|
# macOS provides /usr/libexec/java_home, but Linux does not.
|
||||||
return system_java_home_cmd(version) if OS.mac?
|
return system_java_home_cmd(version) if OS.mac?
|
||||||
|
|||||||
@ -4,26 +4,18 @@ module Language
|
|||||||
module Java
|
module Java
|
||||||
def self.system_java_home_cmd(version = nil)
|
def self.system_java_home_cmd(version = nil)
|
||||||
version_flag = " --version #{version}" if version
|
version_flag = " --version #{version}" if version
|
||||||
"/usr/libexec/java_home#{version_flag} --failfast 2>/dev/null"
|
"/usr/libexec/java_home#{version_flag}"
|
||||||
end
|
end
|
||||||
private_class_method :system_java_home_cmd
|
private_class_method :system_java_home_cmd
|
||||||
|
|
||||||
def self.java_home(version = nil)
|
def self.java_home(version = nil)
|
||||||
f = find_openjdk_formula(version)
|
|
||||||
return f.opt_libexec/"openjdk.jdk/Contents/Home" if f
|
|
||||||
|
|
||||||
cmd = system_java_home_cmd(version)
|
cmd = system_java_home_cmd(version)
|
||||||
path = Utils.popen_read(cmd).chomp
|
Pathname.new Utils.popen_read(cmd).chomp
|
||||||
|
|
||||||
Pathname.new path if path.present?
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# @private
|
||||||
def self.java_home_shell(version = nil)
|
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)})"
|
"$(#{system_java_home_cmd(version)})"
|
||||||
end
|
end
|
||||||
private_class_method :java_home_shell
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -370,8 +370,12 @@ class Pathname
|
|||||||
|
|
||||||
# Writes an exec script that invokes a Java jar
|
# Writes an exec script that invokes a Java jar
|
||||||
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)
|
||||||
(self/script_name).write_env_script "java #{java_opts} -jar #{target_jar}",
|
mkpath
|
||||||
Language::Java.overridable_java_home_env(java_version)
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
def install_metafiles(from = Pathname.pwd)
|
def install_metafiles(from = Pathname.pwd)
|
||||||
|
|||||||
@ -2,41 +2,17 @@
|
|||||||
|
|
||||||
module Language
|
module Language
|
||||||
module Java
|
module Java
|
||||||
def self.find_openjdk_formula(version = nil)
|
|
||||||
can_be_newer = version&.end_with?("+")
|
|
||||||
version = version.to_i
|
|
||||||
|
|
||||||
openjdk = Formula["openjdk"]
|
|
||||||
[openjdk, *openjdk.versioned_formulae].find do |f|
|
|
||||||
next false unless f.any_version_installed?
|
|
||||||
|
|
||||||
unless version.zero?
|
|
||||||
major = f.version.to_s[/\d+/].to_i
|
|
||||||
next false if major < version
|
|
||||||
next false if major > version && !can_be_newer
|
|
||||||
end
|
|
||||||
|
|
||||||
true
|
|
||||||
end
|
|
||||||
rescue FormulaUnavailableError
|
|
||||||
nil
|
|
||||||
end
|
|
||||||
private_class_method :find_openjdk_formula
|
|
||||||
|
|
||||||
def self.java_home(version = nil)
|
def self.java_home(version = nil)
|
||||||
f = find_openjdk_formula(version)
|
|
||||||
return f.opt_libexec if f
|
|
||||||
|
|
||||||
req = JavaRequirement.new [*version]
|
req = JavaRequirement.new [*version]
|
||||||
raise UnsatisfiedRequirements, req.message unless req.satisfied?
|
raise UnsatisfiedRequirements, req.message unless req.satisfied?
|
||||||
|
|
||||||
req.java_home
|
req.java_home
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# @private
|
||||||
def self.java_home_shell(version = nil)
|
def self.java_home_shell(version = nil)
|
||||||
java_home(version).to_s
|
java_home(version).to_s
|
||||||
end
|
end
|
||||||
private_class_method :java_home_shell
|
|
||||||
|
|
||||||
def self.java_home_env(version = nil)
|
def self.java_home_env(version = nil)
|
||||||
{ JAVA_HOME: java_home_shell(version) }
|
{ JAVA_HOME: java_home_shell(version) }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user