diff options
| author | Mike McQuaid | 2017-02-20 11:04:12 +0000 |
|---|---|---|
| committer | GitHub | 2017-02-20 11:04:12 +0000 |
| commit | fe4b2e97a1bc37a210029b19167e80a059a69720 (patch) | |
| tree | f5865574f44a14070734d5b6e2d2d0c408dbb3a2 /Library/Homebrew/extend | |
| parent | 9f31d41fb263718bff98e194df411b8aaea72aba (diff) | |
| parent | c49b97dd9c4d65a68494a467d542a42528ea9b38 (diff) | |
| download | brew-fe4b2e97a1bc37a210029b19167e80a059a69720.tar.bz2 | |
Merge pull request #1632 from rwhogg/make-java-req-portable
java_requirement: port to Linux and refactor
Diffstat (limited to 'Library/Homebrew/extend')
3 files changed, 58 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/os/linux/requirements/java_requirement.rb b/Library/Homebrew/extend/os/linux/requirements/java_requirement.rb new file mode 100644 index 000000000..7816f6b6f --- /dev/null +++ b/Library/Homebrew/extend/os/linux/requirements/java_requirement.rb @@ -0,0 +1,16 @@ +require "language/java" + +class JavaRequirement < Requirement + default_formula "jdk" + + env do + env_java_common + env_oracle_jdk + end + + private + + def oracle_java_os + :linux + end +end diff --git a/Library/Homebrew/extend/os/mac/requirements/java_requirement.rb b/Library/Homebrew/extend/os/mac/requirements/java_requirement.rb new file mode 100644 index 000000000..451e0001b --- /dev/null +++ b/Library/Homebrew/extend/os/mac/requirements/java_requirement.rb @@ -0,0 +1,35 @@ +class JavaRequirement + cask "java" + + env do + env_java_common + env_oracle_jdk || env_apple + end + + private + + def possible_javas + javas = [] + javas << Pathname.new(ENV["JAVA_HOME"])/"bin/java" if ENV["JAVA_HOME"] + javas << java_home_cmd + javas << which("java") + javas + end + + def java_home_cmd + return nil 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 nil unless $?.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 + + def oracle_java_os + :darwin + end +end diff --git a/Library/Homebrew/extend/os/requirements/java_requirement.rb b/Library/Homebrew/extend/os/requirements/java_requirement.rb new file mode 100644 index 000000000..b512ada47 --- /dev/null +++ b/Library/Homebrew/extend/os/requirements/java_requirement.rb @@ -0,0 +1,7 @@ +require "requirements/java_requirement" + +if OS.mac? + require "extend/os/mac/requirements/java_requirement" +elsif OS.linux? + require "extend/os/linux/requirements/java_requirement" +end |
