brew/Library/Homebrew/extend/os/mac/requirements/java_requirement.rb
Mike McQuaid 80d75bc0d8
Homebrew/.rubocop: tweak rules.
Adjust the rules based on the current codebase. Remove various enable,
disables and default values that are unnecessary. Add more comments
explaining why. Make minor changes needed to enable a few more rules.
2018-09-02 20:15:09 +01:00

38 lines
926 B
Ruby

class JavaRequirement < Requirement
env do
env_java_common
env_oracle_jdk || env_apple
end
private
undef possible_javas, oracle_java_os
def possible_javas
javas = []
javas << Pathname.new(ENV["JAVA_HOME"])/"bin/java" if ENV["JAVA_HOME"]
javas << java_home_cmd
which_java = which("java")
# /usr/bin/java is a stub on macOS
javas << which_java if which_java.to_s != "/usr/bin/java"
javas
end
def oracle_java_os
:darwin
end
def java_home_cmd
return unless File.executable?("/usr/libexec/java_home")
args = %w[--failfast]
args << "--version" << @version.to_s if @version
java_home = Utils.popen_read("/usr/libexec/java_home", *args).chomp
return unless $CHILD_STATUS.success?
Pathname.new(java_home)/"bin/java"
end
def env_apple
ENV.append_to_cflags "-I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/"
end
end