Module: Language::Java
- Defined in:
- language/java.rb
Overview
Helper functions for Java formulae.
Class Method Summary collapse
- .java_home(version = nil) ⇒ Pathname?
Returns the directory of the newest matching OpenJDK installation or
nilif none is available. - .java_home_env(version = nil) ⇒ Hash
Returns a
JAVA_HOMEenvironment variable to use a specific OpenJDK. - .overridable_java_home_env(version = nil) ⇒ Hash
Returns a
JAVA_HOMEenvironment variable to use a default OpenJDK.
Class Method Details
.java_home(version = nil) ⇒ Pathname?
Returns the directory of the newest matching OpenJDK installation or nil if none is available. When used in a Formula, there should be a dependency and corresponding version for reproducible output.
39 40 41 | # File 'language/java.rb', line 39 def self.java_home(version = nil) find_openjdk_formula(version)&.opt_libexec end |
.java_home_env(version = nil) ⇒ Hash
Returns a JAVA_HOME environment variable to use a specific OpenJDK. Usually combined with either Pathname#write_env_script or Pathname#env_script_all_files.
Example
Use openjdk@21 for all commands:
bin.env_script_all_files libexec/"bin", Language::Java.java_home_env("21")
63 64 65 | # File 'language/java.rb', line 63 def self.java_home_env(version = nil) { JAVA_HOME: java_home_shell(version) } end |
.overridable_java_home_env(version = nil) ⇒ Hash
Returns a JAVA_HOME environment variable to use a default OpenJDK. Unlike java_home_env the OpenJDK can be overridden at runtime.
Example
Use latest openjdk as default:
bin.env_script_all_files libexec/"bin", Language::Java.overridable_java_home_env
80 81 82 | # File 'language/java.rb', line 80 def self.overridable_java_home_env(version = nil) { JAVA_HOME: "${JAVA_HOME:-#{java_home_shell(version)}}" } end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Language/Java.html