diff --git a/Library/Homebrew/language/java.rb b/Library/Homebrew/language/java.rb new file mode 100644 index 0000000000000000000000000000000000000000..dd0918380978307f6fcbb57c0b919f172d13df71 --- /dev/null +++ b/Library/Homebrew/language/java.rb @@ -0,0 +1,8 @@ +module Language + module Java + def self.java_home_env(version=nil) + version_flag = " --version #{version}" if version + { :JAVA_HOME => "$(/usr/libexec/java_home#{version_flag})" } + end + end +end diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb index 899d9a47e705a6f68841f44f744bf7efa5cb927f..d24dc02e6d36172dddde92323db289e45487bdba 100644 --- a/Library/Homebrew/requirements.rb +++ b/Library/Homebrew/requirements.rb @@ -7,6 +7,7 @@ require 'requirements/maximum_macos_requirement' require 'requirements/mpi_dependency' require 'requirements/osxfuse_dependency' require 'requirements/python_dependency' +require 'requirements/java_dependency' require 'requirements/tuntap_dependency' require 'requirements/unsigned_kext_requirement' require 'requirements/x11_dependency' @@ -122,46 +123,3 @@ class GitDependency < Requirement satisfy { !!which('git') } end -class JavaDependency < Requirement - fatal true - cask "java" - download "http://www.oracle.com/technetwork/java/javase/downloads/index.html" - - satisfy { java_version } - - env do - java_home = Pathname.new(@java_home) - ENV["JAVA_HOME"] = java_home - ENV.prepend_path "PATH", java_home/"bin" - if (java_home/"include").exist? # Oracle JVM - ENV.append_to_cflags "-I#{java_home}/include" - ENV.append_to_cflags "-I#{java_home}/include/darwin" - else # Apple JVM - ENV.append_to_cflags "-I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/" - end - end - - def initialize(tags) - @version = tags.shift if /(\d\.)+\d/ === tags.first - super - end - - def java_version - args = %w[--failfast] - args << "--version" << "#{@version}" if @version - @java_home = Utils.popen_read("/usr/libexec/java_home", *args).chomp - $?.success? - end - - def message - version_string = " #{@version}" if @version - - s = "Java#{version_string} is required to install this formula." - s += super - s - end - - def inspect - "#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>" - end -end diff --git a/Library/Homebrew/requirements/java_dependency.rb b/Library/Homebrew/requirements/java_dependency.rb new file mode 100644 index 0000000000000000000000000000000000000000..7eb6aefaed484db490d6968be417a16726db5d53 --- /dev/null +++ b/Library/Homebrew/requirements/java_dependency.rb @@ -0,0 +1,45 @@ +require "language/java" + +class JavaDependency < Requirement + fatal true + cask "java" + download "http://www.oracle.com/technetwork/java/javase/downloads/index.html" + + satisfy { java_version } + + env do + java_home = Pathname.new(@java_home) + ENV["JAVA_HOME"] = java_home + ENV.prepend_path "PATH", java_home/"bin" + if (java_home/"include").exist? # Oracle JVM + ENV.append_to_cflags "-I#{java_home}/include" + ENV.append_to_cflags "-I#{java_home}/include/darwin" + else # Apple JVM + ENV.append_to_cflags "-I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/" + end + end + + def initialize(tags) + @version = tags.shift if /(\d\.)+\d/ === tags.first + super + end + + def java_version + args = %w[--failfast] + args << "--version" << "#{@version}" if @version + @java_home = Utils.popen_read("/usr/libexec/java_home", *args).chomp + $?.success? + end + + def message + version_string = " #{@version}" if @version + + s = "Java#{version_string} is required to install this formula." + s += super + s + end + + def inspect + "#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>" + end +end