aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorXu Cheng2015-02-26 22:36:04 +0800
committerXu Cheng2015-02-28 01:42:09 +0800
commit8a24a886b6a2a66810a4b09f5f5c78db11ca4058 (patch)
tree5c21351a711a668676d9fb9366a0dd709a08831c /Library
parentcc3c8a33ea8b18699c1fb9a44c031923df88dee7 (diff)
downloadhomebrew-8a24a886b6a2a66810a4b09f5f5c78db11ca4058.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 #37218. Signed-off-by: Xu Cheng <xucheng@me.com>
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/activemq.rb4
-rw-r--r--Library/Homebrew/language/java.rb8
-rw-r--r--Library/Homebrew/requirements.rb44
-rw-r--r--Library/Homebrew/requirements/java_dependency.rb45
4 files changed, 56 insertions, 45 deletions
diff --git a/Library/Formula/activemq.rb b/Library/Formula/activemq.rb
index 4a054e174..541449589 100644
--- a/Library/Formula/activemq.rb
+++ b/Library/Formula/activemq.rb
@@ -11,8 +11,8 @@ class Activemq < Formula
prefix.install_metafiles
libexec.install Dir["*"]
- (bin/"activemq").write_env_script libexec/"bin/activemq", :JAVA_HOME => ENV["JAVA_HOME"]
- (bin/"activemq-admin").write_env_script libexec/"bin/activemq-admin", :JAVA_HOME => ENV["JAVA_HOME"]
+ (bin/"activemq").write_env_script libexec/"bin/activemq", Language::Java.java_home_env("1.6+")
+ (bin/"activemq-admin").write_env_script libexec/"bin/activemq-admin", Language::Java.java_home_env("1.6+")
end
test do
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