language/java: deprecate java_home_cmd

This commit is contained in:
Bo Anderson 2020-06-10 15:11:56 +01:00
parent b5a6e611c2
commit d56c6b31a0
4 changed files with 25 additions and 8 deletions

View File

@ -3,5 +3,6 @@
require "compat/extend/nil" require "compat/extend/nil"
require "compat/extend/string" require "compat/extend/string"
require "compat/formula" require "compat/formula"
require "compat/language/java"
require "compat/language/python" require "compat/language/python"
require "compat/os/mac" if OS.mac? require "compat/os/mac" if OS.mac?

View File

@ -0,0 +1,20 @@
# frozen_string_literal: true
module Language
module Java
class << self
module Compat
def java_home_cmd(version = nil)
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?
raise NotImplementedError
end
end
prepend Compat
end
end
end

View File

@ -2,19 +2,20 @@
module Language module Language
module Java module Java
def self.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}" "/usr/libexec/java_home#{version_flag}"
end end
private_class_method :system_java_home_cmd
def self.java_home(version = nil) def self.java_home(version = nil)
cmd = Language::Java.java_home_cmd(version) cmd = system_java_home_cmd(version)
Pathname.new Utils.popen_read(cmd).chomp Pathname.new Utils.popen_read(cmd).chomp
end end
# @private # @private
def self.java_home_shell(version = nil) def self.java_home_shell(version = nil)
"$(#{java_home_cmd(version)})" "$(#{system_java_home_cmd(version)})"
end end
end end
end end

View File

@ -2,11 +2,6 @@
module Language module Language
module Java module Java
def self.java_home_cmd(_ = nil)
# macOS provides /usr/libexec/java_home, but Linux does not.
raise NotImplementedError
end
def self.java_home(version = nil) def self.java_home(version = nil)
req = JavaRequirement.new [*version] req = JavaRequirement.new [*version]
raise UnsatisfiedRequirements, req.message unless req.satisfied? raise UnsatisfiedRequirements, req.message unless req.satisfied?