diff options
| author | Mike McQuaid | 2017-11-26 12:47:11 +0000 |
|---|---|---|
| committer | GitHub | 2017-11-26 12:47:11 +0000 |
| commit | 7f1d5903ff34a06e241a5cbae20d44b67656d773 (patch) | |
| tree | 6e17274ec9e43406d9bdad783bab95bbca27414f | |
| parent | 5335c2247c0ddede38a6878f4e72fa9d08f33b0a (diff) | |
| parent | baa3d187d63d5a9bb17fd4dbc052a899b597c2b8 (diff) | |
| download | brew-7f1d5903ff34a06e241a5cbae20d44b67656d773.tar.bz2 | |
Merge pull request #3465 from sjackman/vcs-requirement
Add CVSRequirement and SubversionRequirement
| -rw-r--r-- | Library/Homebrew/dependency_collector.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/os/mac/xcode.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/requirements.rb | 13 | ||||
| -rw-r--r-- | Library/Homebrew/test/dependency_collector_spec.rb | 12 |
4 files changed, 27 insertions, 6 deletions
diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb index bc0246dd2..f8edbab06 100644 --- a/Library/Homebrew/dependency_collector.rb +++ b/Library/Homebrew/dependency_collector.rb @@ -159,7 +159,9 @@ class DependencyCollector elsif strategy <= BazaarDownloadStrategy Dependency.new("bazaar", tags) elsif strategy <= CVSDownloadStrategy - Dependency.new("cvs", tags) if MacOS.version >= :mavericks || !MacOS::Xcode.provides_cvs? + CVSRequirement.new(tags) + elsif strategy <= SubversionDownloadStrategy + SubversionRequirement.new(tags) elsif strategy < AbstractDownloadStrategy # allow unknown strategies to pass through else diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb index ae725d948..0b1cc7146 100644 --- a/Library/Homebrew/os/mac/xcode.rb +++ b/Library/Homebrew/os/mac/xcode.rb @@ -174,10 +174,6 @@ module OS version < "4.3" end - def provides_cvs? - version < "5.0" - end - def default_prefix? if version < "4.3" prefix.to_s.start_with? "/Developer" diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb index 35a0c242c..d5992b88d 100644 --- a/Library/Homebrew/requirements.rb +++ b/Library/Homebrew/requirements.rb @@ -114,10 +114,15 @@ class ArchRequirement < Requirement end end +class CVSRequirement < Requirement + fatal true + default_formula "cvs" + satisfy { which "cvs" } +end + class MercurialRequirement < Requirement fatal true default_formula "mercurial" - satisfy { which("hg") } end @@ -126,3 +131,9 @@ class GitRequirement < Requirement default_formula "git" satisfy { Utils.git_available? } end + +class SubversionRequirement < Requirement + fatal true + default_formula "subversion" + satisfy { Utils.svn_available? } +end diff --git a/Library/Homebrew/test/dependency_collector_spec.rb b/Library/Homebrew/test/dependency_collector_spec.rb index c25ea9cf9..8feeac4a2 100644 --- a/Library/Homebrew/test/dependency_collector_spec.rb +++ b/Library/Homebrew/test/dependency_collector_spec.rb @@ -84,6 +84,18 @@ describe DependencyCollector do expect(subject.add(resource)).to be_an_instance_of(GitRequirement) end + it "creates a resource dependency from a CVS URL" do + resource = Resource.new + resource.url(":pserver:anonymous:@example.com:/cvsroot/foo/bar", using: :cvs) + expect(subject.add(resource)).to be_an_instance_of(CVSRequirement) + end + + it "creates a resource dependency from a Subversion URL" do + resource = Resource.new + resource.url("svn://example.com/foo/bar") + expect(subject.add(resource)).to be_an_instance_of(SubversionRequirement) + end + it "creates a resource dependency from a '.7z' URL" do resource = Resource.new resource.url("http://example.com/foo.7z") |
