mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-01-12 03:21:33 +00:00
Export ParseDependency & friends.
This commit is contained in:
10
debian/version.go
vendored
10
debian/version.go
vendored
@@ -213,13 +213,13 @@ func (d *Dependency) String() string {
|
||||
return fmt.Sprintf("%s (%s %s) [%s]", d.Pkg, rel, d.Version, d.Architecture)
|
||||
}
|
||||
|
||||
// parseDependencyVariants parses dependencies in format "pkg (>= 1.35) | other-package"
|
||||
func parseDependencyVariants(variants string) (l []Dependency, err error) {
|
||||
// ParseDependencyVariants parses dependencies in format "pkg (>= 1.35) | other-package"
|
||||
func ParseDependencyVariants(variants string) (l []Dependency, err error) {
|
||||
parts := strings.Split(variants, "|")
|
||||
l = make([]Dependency, len(parts))
|
||||
|
||||
for i, part := range parts {
|
||||
l[i], err = parseDependency(strings.TrimSpace(part))
|
||||
l[i], err = ParseDependency(strings.TrimSpace(part))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -228,8 +228,8 @@ func parseDependencyVariants(variants string) (l []Dependency, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
// parseDependency parses dependency in format "pkg (>= 1.35)" into parts
|
||||
func parseDependency(dep string) (d Dependency, err error) {
|
||||
// ParseDependency parses dependency in format "pkg (>= 1.35)" into parts
|
||||
func ParseDependency(dep string) (d Dependency, err error) {
|
||||
if !strings.HasSuffix(dep, ")") {
|
||||
d.Pkg = strings.TrimSpace(dep)
|
||||
d.Relation = VersionDontCare
|
||||
|
||||
30
debian/version_test.go
vendored
30
debian/version_test.go
vendored
@@ -99,70 +99,70 @@ func (s *VersionSuite) TestCompareVersions(c *C) {
|
||||
}
|
||||
|
||||
func (s *VersionSuite) TestParseDependency(c *C) {
|
||||
d, e := parseDependency("dpkg (>= 1.6)")
|
||||
d, e := ParseDependency("dpkg (>= 1.6)")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(d.Pkg, Equals, "dpkg")
|
||||
c.Check(d.Relation, Equals, VersionGreaterOrEqual)
|
||||
c.Check(d.Version, Equals, "1.6")
|
||||
|
||||
d, e = parseDependency("dpkg(>>1.6)")
|
||||
d, e = ParseDependency("dpkg(>>1.6)")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(d.Pkg, Equals, "dpkg")
|
||||
c.Check(d.Relation, Equals, VersionGreater)
|
||||
c.Check(d.Version, Equals, "1.6")
|
||||
|
||||
d, e = parseDependency("dpkg (> 1.6)")
|
||||
d, e = ParseDependency("dpkg (> 1.6)")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(d.Pkg, Equals, "dpkg")
|
||||
c.Check(d.Relation, Equals, VersionGreaterOrEqual)
|
||||
c.Check(d.Version, Equals, "1.6")
|
||||
|
||||
d, e = parseDependency("dpkg (< 1.6)")
|
||||
d, e = ParseDependency("dpkg (< 1.6)")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(d.Pkg, Equals, "dpkg")
|
||||
c.Check(d.Relation, Equals, VersionLessOrEqual)
|
||||
c.Check(d.Version, Equals, "1.6")
|
||||
|
||||
d, e = parseDependency("dpkg (= 1.6)")
|
||||
d, e = ParseDependency("dpkg (= 1.6)")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(d.Pkg, Equals, "dpkg")
|
||||
c.Check(d.Relation, Equals, VersionEqual)
|
||||
c.Check(d.Version, Equals, "1.6")
|
||||
|
||||
d, e = parseDependency("dpkg (<< 1.6)")
|
||||
d, e = ParseDependency("dpkg (<< 1.6)")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(d.Pkg, Equals, "dpkg")
|
||||
c.Check(d.Relation, Equals, VersionLess)
|
||||
c.Check(d.Version, Equals, "1.6")
|
||||
|
||||
d, e = parseDependency("dpkg(>>1.6)")
|
||||
d, e = ParseDependency("dpkg(>>1.6)")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(d.Pkg, Equals, "dpkg")
|
||||
c.Check(d.Relation, Equals, VersionGreater)
|
||||
c.Check(d.Version, Equals, "1.6")
|
||||
|
||||
d, e = parseDependency("dpkg ")
|
||||
d, e = ParseDependency("dpkg ")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(d.Pkg, Equals, "dpkg")
|
||||
c.Check(d.Relation, Equals, VersionDontCare)
|
||||
c.Check(d.Version, Equals, "")
|
||||
|
||||
d, e = parseDependency("dpkg(==1.6)")
|
||||
d, e = ParseDependency("dpkg(==1.6)")
|
||||
c.Check(e, ErrorMatches, "relation unknown.*")
|
||||
|
||||
d, e = parseDependency("dpkg==1.6)")
|
||||
d, e = ParseDependency("dpkg==1.6)")
|
||||
c.Check(e, ErrorMatches, "unable to parse.*")
|
||||
}
|
||||
|
||||
func (s *VersionSuite) TestParseDependencyVariants(c *C) {
|
||||
l, e := parseDependencyVariants("dpkg (>= 1.6)")
|
||||
l, e := ParseDependencyVariants("dpkg (>= 1.6)")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(l, HasLen, 1)
|
||||
c.Check(l[0].Pkg, Equals, "dpkg")
|
||||
c.Check(l[0].Relation, Equals, VersionGreaterOrEqual)
|
||||
c.Check(l[0].Version, Equals, "1.6")
|
||||
|
||||
l, e = parseDependencyVariants("dpkg (>= 1.6) | mailer-agent")
|
||||
l, e = ParseDependencyVariants("dpkg (>= 1.6) | mailer-agent")
|
||||
c.Check(e, IsNil)
|
||||
c.Check(l, HasLen, 2)
|
||||
c.Check(l[0].Pkg, Equals, "dpkg")
|
||||
@@ -171,16 +171,16 @@ func (s *VersionSuite) TestParseDependencyVariants(c *C) {
|
||||
c.Check(l[1].Pkg, Equals, "mailer-agent")
|
||||
c.Check(l[1].Relation, Equals, VersionDontCare)
|
||||
|
||||
_, e = parseDependencyVariants("dpkg(==1.6)")
|
||||
_, e = ParseDependencyVariants("dpkg(==1.6)")
|
||||
c.Check(e, ErrorMatches, "relation unknown.*")
|
||||
}
|
||||
|
||||
func (s *VersionSuite) TestDependencyString(c *C) {
|
||||
d, _ := parseDependency("dpkg(>>1.6)")
|
||||
d, _ := ParseDependency("dpkg(>>1.6)")
|
||||
d.Architecture = "i386"
|
||||
c.Check(d.String(), Equals, "dpkg (>> 1.6) [i386]")
|
||||
|
||||
d, _ = parseDependency("dpkg")
|
||||
d, _ = ParseDependency("dpkg")
|
||||
d.Architecture = "i386"
|
||||
c.Check(d.String(), Equals, "dpkg [i386]")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user