Merge pull request #3465 from sjackman/vcs-requirement
Add CVSRequirement and SubversionRequirement
This commit is contained in:
commit
7f1d5903ff
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user