aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXu Cheng2015-02-26 22:36:04 +0800
committerXu Cheng2015-02-28 01:42:09 +0800
commit222283410731bcfd525c356b96b009aca660911a (patch)
treecc8752a292ff286124c986cb1e2840f69b70b97c
parentf27f427d95bc181b67ee5522f4781b508e9d9df9 (diff)
downloadbrew-222283410731bcfd525c356b96b009aca660911a.tar.bz2
java: move java_dependency into a separate file and add Language::Java.java_home_env
Also update activemq to test against it Closes Homebrew/homebrew#37218. Signed-off-by: Xu Cheng <xucheng@me.com>
-rw-r--r--Library/Homebrew/language/java.rb8
-rw-r--r--Library/Homebrew/requirements.rb44
-rw-r--r--Library/Homebrew/requirements/java_dependency.rb45
3 files changed, 54 insertions, 43 deletions
diff --git a/Library/Homebrew/language/java.rb b/Library/Homebrew/language/java.rb
new file mode 100644
index 000000000..dd0918380
--- /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 899d9a47e..d24dc02e6 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 000000000..7eb6aefae
--- /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