aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2014-07-21 02:11:08 -0700
committerMike McQuaid2014-07-21 19:14:15 +0100
commit7e7b72179773be7f36abdbbdd999f9b972687ee3 (patch)
treef301ad055e5cfcc01768de22d82b2fd54803a7b6 /Library
parent19dce37a5fd5e13ff9459244652143d6201750f0 (diff)
downloadbrew-7e7b72179773be7f36abdbbdd999f9b972687ee3.tar.bz2
requirements: add JavaDependency.
Requested in Homebrew/homebrew-science#1039. Closes Homebrew/homebrew#30852.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/requirements.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb
index 9dd10a22c..11de067a1 100644
--- a/Library/Homebrew/requirements.rb
+++ b/Library/Homebrew/requirements.rb
@@ -98,3 +98,29 @@ class GitDependency < Requirement
default_formula 'git'
satisfy { !!which('git') }
end
+
+class JavaDependency < Requirement
+ fatal true
+ satisfy { java_version }
+
+ def initialize(tags)
+ @version = tags.pop
+ super
+ end
+
+ def java_version
+ version_flag = " --version #{@version}+" if @version
+ system "/usr/libexec/java_home --failfast#{version_flag}"
+ end
+
+ def message
+ version_string = " #{@version}" if @version
+
+ <<-EOS.undent
+ Java#{version_string} is required for Homebrew to install this formula.
+
+ You can install Java from:
+ http://www.oracle.com/technetwork/java/javase/downloads/index.html
+ EOS
+ end
+end