Support for parsing dependencies with architecture like [amd64].

This commit is contained in:
Andrey Smirnov
2014-02-17 14:03:41 +04:00
parent 09a1b60946
commit 5af0c45e10
2 changed files with 33 additions and 1 deletions
+12 -1
View File
@@ -228,8 +228,19 @@ func ParseDependencyVariants(variants string) (l []Dependency, err error) {
return
}
// ParseDependency parses dependency in format "pkg (>= 1.35)" into parts
// ParseDependency parses dependency in format "pkg (>= 1.35) [arch]" into parts
func ParseDependency(dep string) (d Dependency, err error) {
if strings.HasSuffix(dep, "]") {
i := strings.LastIndex(dep, "[")
if i == -1 {
err = fmt.Errorf("unable to parse dependency: %s", dep)
return
}
d.Architecture = dep[i+1 : len(dep)-1]
dep = strings.TrimSpace(dep[:i])
}
if !strings.HasSuffix(dep, ")") {
d.Pkg = strings.TrimSpace(dep)
d.Relation = VersionDontCare