diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb index 08b5fc12bd..ef3a712e96 100644 --- a/Library/Homebrew/dependency_collector.rb +++ b/Library/Homebrew/dependency_collector.rb @@ -136,9 +136,7 @@ class DependencyCollector end def ant_dep(spec, tags) - if MacOS.version >= :mavericks - Dependency.new(spec.to_s, tags) - end + Dependency.new(spec.to_s, tags) end def resource_dep(spec, tags) @@ -175,3 +173,5 @@ class DependencyCollector end end end + +require "extend/os/dependency_collector" diff --git a/Library/Homebrew/extend/os/dependency_collector.rb b/Library/Homebrew/extend/os/dependency_collector.rb new file mode 100644 index 0000000000..d295263f62 --- /dev/null +++ b/Library/Homebrew/extend/os/dependency_collector.rb @@ -0,0 +1,5 @@ +require "dependency_collector" + +if OS.mac? + require "extend/os/mac/dependency_collector" +end diff --git a/Library/Homebrew/extend/os/mac/dependency_collector.rb b/Library/Homebrew/extend/os/mac/dependency_collector.rb new file mode 100644 index 0000000000..ee98045b64 --- /dev/null +++ b/Library/Homebrew/extend/os/mac/dependency_collector.rb @@ -0,0 +1,6 @@ +class DependencyCollector + def ant_dep(spec, tags) + return if MacOS.version < :mavericks + Dependency.new(spec.to_s, tags) + end +end diff --git a/Library/Homebrew/test/test_dependency_collector.rb b/Library/Homebrew/test/test_dependency_collector.rb index a94b4959e8..4e87c85157 100644 --- a/Library/Homebrew/test/test_dependency_collector.rb +++ b/Library/Homebrew/test/test_dependency_collector.rb @@ -76,6 +76,11 @@ class DependencyCollectorTests < Homebrew::TestCase assert_predicate dep, :optional? end + def test_ant_dep + @d.add ant: :build + assert_equal find_dependency("ant"), Dependency.new("ant", [:build]) + end + def test_raises_typeerror_for_unknown_classes assert_raises(TypeError) { @d.add(Class.new) } end diff --git a/Library/Homebrew/test/test_os_mac_dependency_collector.rb b/Library/Homebrew/test/test_os_mac_dependency_collector.rb index 37b6191015..05b466c945 100644 --- a/Library/Homebrew/test/test_os_mac_dependency_collector.rb +++ b/Library/Homebrew/test/test_os_mac_dependency_collector.rb @@ -2,6 +2,10 @@ require "testing_env" require "dependency_collector" class OSMacDependencyCollectorTests < Homebrew::TestCase + def find_dependency(name) + @d.deps.find { |dep| dep.name == name } + end + def setup @d = DependencyCollector.new end @@ -19,4 +23,16 @@ class OSMacDependencyCollectorTests < Homebrew::TestCase MacOS.stubs(:version).returns(MacOS::Version.new("10.5")) assert_nil @d.build(:ld64) end + + def test_ant_dep_mavericks_or_newer + MacOS.stubs(:version).returns(MacOS::Version.new("10.9")) + @d.add ant: :build + assert_equal find_dependency("ant"), Dependency.new("ant", [:build]) + end + + def test_ant_dep_pre_mavericks + MacOS.stubs(:version).returns(MacOS::Version.new("10.7")) + @d.add ant: :build + assert_nil find_dependency("ant") + end end