Fix to support dependency variants.

This commit is contained in:
Andrey Smirnov
2014-01-09 14:38:36 +04:00
parent ba30a42d6d
commit 10da8330b0
4 changed files with 72 additions and 11 deletions
+15
View File
@@ -213,6 +213,21 @@ 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) {
parts := strings.Split(variants, "|")
l = make([]Dependency, len(parts))
for i, part := range parts {
l[i], err = parseDependency(strings.TrimSpace(part))
if err != nil {
return nil, err
}
}
return
}
// parseDependency parses dependency in format "pkg (>= 1.35)" into parts
func parseDependency(dep string) (d Dependency, err error) {
if !strings.HasSuffix(dep, ")") {