diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb index b1fb6e4f92..c6ef192e26 100644 --- a/Library/Homebrew/dependency_collector.rb +++ b/Library/Homebrew/dependency_collector.rb @@ -79,6 +79,10 @@ class DependencyCollector Dependency.new("bzip2", tags) unless which("bzip2") end + def java_dep_if_needed(tags) + JavaRequirement.new(tags) + end + def ld64_dep_if_needed(*); end def self.tar_needs_xz_dependency? @@ -118,7 +122,7 @@ class DependencyCollector case spec when :arch then ArchRequirement.new(tags) when :codesign then CodesignRequirement.new(tags) - when :java then JavaRequirement.new(tags) + when :java then java_dep_if_needed(tags) when :linux then LinuxRequirement.new(tags) when :macos then MacOSRequirement.new(tags) when :maximum_macos then MaximumMacOSRequirement.new(tags) diff --git a/Library/Homebrew/extend/os/dependency_collector.rb b/Library/Homebrew/extend/os/dependency_collector.rb index 10131c916d..f3635e3da9 100644 --- a/Library/Homebrew/extend/os/dependency_collector.rb +++ b/Library/Homebrew/extend/os/dependency_collector.rb @@ -1 +1,5 @@ -require "extend/os/mac/dependency_collector" if OS.mac? +if OS.mac? + require "extend/os/mac/dependency_collector" +elsif OS.linux? + require "extend/os/linux/dependency_collector" +end diff --git a/Library/Homebrew/extend/os/linux/dependency_collector.rb b/Library/Homebrew/extend/os/linux/dependency_collector.rb new file mode 100644 index 0000000000..a983b3cb4a --- /dev/null +++ b/Library/Homebrew/extend/os/linux/dependency_collector.rb @@ -0,0 +1,13 @@ +class DependencyCollector + def java_dep_if_needed(tags) + req = JavaRequirement.new(tags) + begin + dep = Dependency.new("openjdk", tags) + return dep if dep.installed? + return req if req.satisfied? + dep + rescue FormulaUnavailableError + req + end + end +end diff --git a/Library/Homebrew/requirements/java_requirement.rb b/Library/Homebrew/requirements/java_requirement.rb index 501129a249..a1b9d49a3a 100644 --- a/Library/Homebrew/requirements/java_requirement.rb +++ b/Library/Homebrew/requirements/java_requirement.rb @@ -86,7 +86,7 @@ class JavaRequirement < Requirement javas = [] javas << Pathname.new(ENV["JAVA_HOME"])/"bin/java" if ENV["JAVA_HOME"] jdk = begin - Formula["jdk"] + Formula["openjdk"] rescue FormulaUnavailableError nil end