aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/requirements.rb
diff options
context:
space:
mode:
authorMike McQuaid2014-07-21 02:11:08 -0700
committerMike McQuaid2014-07-21 19:14:15 +0100
commit40056f03064750ad9541bf9d3cb3921b439b081e (patch)
tree355f759ce9e4f4f7c7f26311a32133e19088e5c9 /Library/Homebrew/requirements.rb
parent53552ab34117bfca8c8d61f2d125b3d64c54f786 (diff)
downloadhomebrew-40056f03064750ad9541bf9d3cb3921b439b081e.tar.bz2
requirements: add JavaDependency.
Requested in Homebrew/homebrew-science#1039. Closes #30852.
Diffstat (limited to 'Library/Homebrew/requirements.rb')
-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