2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2015-02-26 22:36:04 +08:00
|
|
|
module Language
|
|
|
|
module Java
|
2018-11-27 11:52:30 -08:00
|
|
|
def self.java_home(version = nil)
|
|
|
|
req = JavaRequirement.new [*version]
|
|
|
|
raise UnsatisfiedRequirements, req.message unless req.satisfied?
|
2019-02-19 13:12:52 +00:00
|
|
|
|
2018-11-27 11:52:30 -08:00
|
|
|
req.java_home
|
|
|
|
end
|
|
|
|
|
2020-06-18 12:23:02 +01:00
|
|
|
# @private
|
2018-11-27 11:52:30 -08:00
|
|
|
def self.java_home_shell(version = nil)
|
|
|
|
java_home(version).to_s
|
2015-03-12 23:35:24 +08:00
|
|
|
end
|
|
|
|
|
2015-08-03 13:09:07 +01:00
|
|
|
def self.java_home_env(version = nil)
|
2018-11-27 11:52:30 -08:00
|
|
|
{ JAVA_HOME: java_home_shell(version) }
|
2015-03-12 23:35:24 +08:00
|
|
|
end
|
|
|
|
|
2015-08-03 13:09:07 +01:00
|
|
|
def self.overridable_java_home_env(version = nil)
|
2018-11-27 11:52:30 -08:00
|
|
|
{ JAVA_HOME: "${JAVA_HOME:-#{java_home_shell(version)}}" }
|
2015-02-26 22:36:04 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2018-11-27 11:52:30 -08:00
|
|
|
|
|
|
|
require "extend/os/language/java"
|