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/string"
require "compat/formula"
require "compat/language/java"
require "compat/language/python"
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 Java
def self.java_home_cmd(version = nil)
def self.system_java_home_cmd(version = nil)
version_flag = " --version #{version}" if version
"/usr/libexec/java_home#{version_flag}"
end
private_class_method :system_java_home_cmd
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
end
# @private
def self.java_home_shell(version = nil)
"$(#{java_home_cmd(version)})"
"$(#{system_java_home_cmd(version)})"
end
end
end

View File

@ -2,11 +2,6 @@
module Language
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)
req = JavaRequirement.new [*version]
raise UnsatisfiedRequirements, req.message unless req.satisfied?