Misty De Meo c0a02442d9
Revert "language/java: use shortened brew paths"
This reverts commits 318175cfe2b23328f1b5f13812fd59cfd45fe1dc,
e7ab760392b9691a6c730b7e0d660b7874969e70 and
3b35af63f608438b1882756feca94a6ebdd0d6a3 (PR #11537).
2021-06-17 20:29:43 -07:00

50 lines
1.2 KiB
Ruby

# typed: true
# frozen_string_literal: true
module Language
# Helper functions for Java formulae.
#
# @api public
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.any_installed_version.major
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)
find_openjdk_formula(version)&.opt_libexec
end
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) }
end
def self.overridable_java_home_env(version = nil)
{ JAVA_HOME: "${JAVA_HOME:-#{java_home_shell(version)}}" }
end
end
end
require "extend/os/language/java"