From 222283410731bcfd525c356b96b009aca660911a Mon Sep 17 00:00:00 2001 From: Xu Cheng Date: Thu, 26 Feb 2015 22:36:04 +0800 Subject: 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 --- Library/Homebrew/requirements/java_dependency.rb | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Library/Homebrew/requirements/java_dependency.rb (limited to 'Library/Homebrew/requirements/java_dependency.rb') 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 -- cgit v1.2.3