Merge pull request #7770 from bayandin/revert-java-improvements

Revert "language/java: add support for OpenJDK"
This commit is contained in:
Issy Long 2020-06-18 13:21:46 +01:00 committed by GitHub
commit 67c843b91e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 40 deletions

View File

@ -5,8 +5,7 @@ module Language
class << self
module Compat
def java_home_cmd(version = nil)
odeprecated "Language::Java.java_home_cmd",
"Language::Java.java_home or Language::Java.overridable_java_home_env"
odeprecated "Language::Java::java_home_cmd", "Language::Java::java_home"
# macOS provides /usr/libexec/java_home, but Linux does not.
return system_java_home_cmd(version) if OS.mac?

View File

@ -4,26 +4,18 @@ module Language
module Java
def self.system_java_home_cmd(version = nil)
version_flag = " --version #{version}" if version
"/usr/libexec/java_home#{version_flag} --failfast 2>/dev/null"
"/usr/libexec/java_home#{version_flag}"
end
private_class_method :system_java_home_cmd
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)
path = Utils.popen_read(cmd).chomp
Pathname.new path if path.present?
Pathname.new Utils.popen_read(cmd).chomp
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

View File

@ -370,8 +370,12 @@ class Pathname
# Writes an exec script that invokes a Java jar
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}",
Language::Java.overridable_java_home_env(java_version)
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
end
def install_metafiles(from = Pathname.pwd)

View File

@ -2,41 +2,17 @@
module Language
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)
f = find_openjdk_formula(version)
return f.opt_libexec if f
req = JavaRequirement.new [*version]
raise UnsatisfiedRequirements, req.message unless req.satisfied?
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) }