Deprecate Git, Subversion requirements.
These rely on `default_formula` to be useful and are better following the `*_dep_if_needed` pattern.
This commit is contained in:
parent
f06b54f1bb
commit
27be33b245
@ -44,6 +44,18 @@ class GPG2Requirement < Requirement
|
|||||||
satisfy { which "gpg" }
|
satisfy { which "gpg" }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class GitRequirement < Requirement
|
||||||
|
fatal true
|
||||||
|
default_formula "git"
|
||||||
|
satisfy { Utils.git_available? }
|
||||||
|
end
|
||||||
|
|
||||||
|
class SubversionRequirement < Requirement
|
||||||
|
fatal true
|
||||||
|
default_formula "subversion"
|
||||||
|
satisfy { Utils.svn_available? }
|
||||||
|
end
|
||||||
|
|
||||||
XcodeDependency = XcodeRequirement
|
XcodeDependency = XcodeRequirement
|
||||||
MysqlDependency = MysqlRequirement
|
MysqlDependency = MysqlRequirement
|
||||||
PostgresqlDependency = PostgresqlRequirement
|
PostgresqlDependency = PostgresqlRequirement
|
||||||
|
@ -52,6 +52,16 @@ class DependencyCollector
|
|||||||
parse_spec(spec, Array(tags))
|
parse_spec(spec, Array(tags))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def git_dep_if_needed(tags)
|
||||||
|
return if Utils.git_available?
|
||||||
|
Dependency.new("git", tags)
|
||||||
|
end
|
||||||
|
|
||||||
|
def subversion_dep_if_needed(tags)
|
||||||
|
return if Utils.svn_available?
|
||||||
|
Dependency.new("subversion", tags)
|
||||||
|
end
|
||||||
|
|
||||||
def cvs_dep_if_needed(tags)
|
def cvs_dep_if_needed(tags)
|
||||||
Dependency.new("cvs", tags)
|
Dependency.new("cvs", tags)
|
||||||
end
|
end
|
||||||
@ -126,9 +136,9 @@ class DependencyCollector
|
|||||||
if strategy <= CurlDownloadStrategy
|
if strategy <= CurlDownloadStrategy
|
||||||
parse_url_spec(spec.url, tags)
|
parse_url_spec(spec.url, tags)
|
||||||
elsif strategy <= GitDownloadStrategy
|
elsif strategy <= GitDownloadStrategy
|
||||||
GitRequirement.new(tags)
|
git_dep_if_needed(tags)
|
||||||
elsif strategy <= SubversionDownloadStrategy
|
elsif strategy <= SubversionDownloadStrategy
|
||||||
SubversionRequirement.new(tags)
|
subversion_dep_if_needed(tags)
|
||||||
elsif strategy <= MercurialDownloadStrategy
|
elsif strategy <= MercurialDownloadStrategy
|
||||||
Dependency.new("mercurial", tags)
|
Dependency.new("mercurial", tags)
|
||||||
elsif strategy <= FossilDownloadStrategy
|
elsif strategy <= FossilDownloadStrategy
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
require "os/mac/ld64_dependency"
|
require "os/mac/ld64_dependency"
|
||||||
|
|
||||||
class DependencyCollector
|
class DependencyCollector
|
||||||
|
def git_dep_if_needed(tags)
|
||||||
|
return if MacOS.version >= :lion
|
||||||
|
Dependency.new("git", tags)
|
||||||
|
end
|
||||||
|
|
||||||
|
def subversion_dep_if_needed(tags); end
|
||||||
|
|
||||||
def cvs_dep_if_needed(tags)
|
def cvs_dep_if_needed(tags)
|
||||||
return if MacOS.version < :lion
|
return if MacOS.version < :lion
|
||||||
Dependency.new("cvs", tags)
|
Dependency.new("cvs", tags)
|
||||||
|
@ -9,15 +9,3 @@ require "requirements/unsigned_kext_requirement"
|
|||||||
require "requirements/x11_requirement"
|
require "requirements/x11_requirement"
|
||||||
require "requirements/arch_requirement"
|
require "requirements/arch_requirement"
|
||||||
require "requirements/xcode_requirement"
|
require "requirements/xcode_requirement"
|
||||||
|
|
||||||
class GitRequirement < Requirement
|
|
||||||
fatal true
|
|
||||||
default_formula "git"
|
|
||||||
satisfy { Utils.git_available? }
|
|
||||||
end
|
|
||||||
|
|
||||||
class SubversionRequirement < Requirement
|
|
||||||
fatal true
|
|
||||||
default_formula "subversion"
|
|
||||||
satisfy { Utils.svn_available? }
|
|
||||||
end
|
|
||||||
|
@ -78,24 +78,12 @@ describe DependencyCollector do
|
|||||||
expect(spec).to eq(copy)
|
expect(spec).to eq(copy)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "creates a resource dependency from a '.git' URL" do
|
|
||||||
resource = Resource.new
|
|
||||||
resource.url("git://example.com/foo/bar.git")
|
|
||||||
expect(subject.add(resource)).to be_an_instance_of(GitRequirement)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "creates a resource dependency from a CVS URL" do
|
it "creates a resource dependency from a CVS URL" do
|
||||||
resource = Resource.new
|
resource = Resource.new
|
||||||
resource.url(":pserver:anonymous:@example.com:/cvsroot/foo/bar", using: :cvs)
|
resource.url(":pserver:anonymous:@example.com:/cvsroot/foo/bar", using: :cvs)
|
||||||
expect(subject.add(resource)).to eq(Dependency.new("cvs", [:build]))
|
expect(subject.add(resource)).to eq(Dependency.new("cvs", [:build]))
|
||||||
end
|
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
|
it "creates a resource dependency from a '.7z' URL" do
|
||||||
resource = Resource.new
|
resource = Resource.new
|
||||||
resource.url("http://example.com/foo.7z")
|
resource.url("http://example.com/foo.7z")
|
||||||
|
@ -35,4 +35,16 @@ describe DependencyCollector do
|
|||||||
resource.url("http://example.com/foo.tar.xz")
|
resource.url("http://example.com/foo.tar.xz")
|
||||||
expect(subject.add(resource)).to be nil
|
expect(subject.add(resource)).to be nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
specify "Resource dependency from a '.git' URL" do
|
||||||
|
resource = Resource.new
|
||||||
|
resource.url("git://example.com/foo/bar.git")
|
||||||
|
expect(subject.add(resource)).to be nil
|
||||||
|
end
|
||||||
|
|
||||||
|
specify "Resource dependency from a Subversion URL" do
|
||||||
|
resource = Resource.new
|
||||||
|
resource.url("svn://example.com/foo/bar")
|
||||||
|
expect(subject.add(resource)).to be nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user