diff options
| author | Mike McQuaid | 2015-06-15 09:56:04 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2015-06-16 08:12:01 +0100 |
| commit | 1e867302891f04ba7857d86ea641315d2e1c8e4d (patch) | |
| tree | 0ea500fbe4039445995282260b8fe7a465b7995c /Library/Homebrew/requirements/java_requirement.rb | |
| parent | f13ac9b0c8c03ccb72aeed29d2969014d7f660e8 (diff) | |
| download | brew-1e867302891f04ba7857d86ea641315d2e1c8e4d.tar.bz2 | |
Rename requirements named *Dependency.
Dependency is another similar, related class and it's super confusing
to have some Requirements that are named *Dependency.
Closes Homebrew/homebrew#38891.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Homebrew/requirements/java_requirement.rb')
| -rw-r--r-- | Library/Homebrew/requirements/java_requirement.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Library/Homebrew/requirements/java_requirement.rb b/Library/Homebrew/requirements/java_requirement.rb new file mode 100644 index 000000000..1c43ad295 --- /dev/null +++ b/Library/Homebrew/requirements/java_requirement.rb @@ -0,0 +1,45 @@ +require "language/java" + +class JavaRequirement < 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 |
