Support version numbers like pkg (1.4)

This commit is contained in:
Andrey Smirnov
2014-02-17 20:52:37 +04:00
parent b8fd33a92c
commit 506987d31f
2 changed files with 24 additions and 7 deletions
+12 -7
View File
@@ -255,12 +255,17 @@ func ParseDependency(dep string) (d Dependency, err error) {
d.Pkg = strings.TrimSpace(dep[0:i])
rel := dep[i+1 : i+2]
if dep[i+2] == '>' || dep[i+2] == '<' || dep[i+2] == '=' {
rel += dep[i+2 : i+3]
d.Version = strings.TrimSpace(dep[i+3 : len(dep)-1])
rel := ""
if dep[i+1] == '>' || dep[i+1] == '<' || dep[i+1] == '=' {
rel += dep[i+1 : i+2]
if dep[i+2] == '>' || dep[i+2] == '<' || dep[i+2] == '=' {
rel += dep[i+2 : i+3]
d.Version = strings.TrimSpace(dep[i+3 : len(dep)-1])
} else {
d.Version = strings.TrimSpace(dep[i+2 : len(dep)-1])
}
} else {
d.Version = strings.TrimSpace(dep[i+2 : len(dep)-1])
d.Version = strings.TrimSpace(dep[i+1 : len(dep)-1])
}
switch rel {
@@ -272,10 +277,10 @@ func ParseDependency(dep string) (d Dependency, err error) {
d.Relation = VersionLess
case ">>":
d.Relation = VersionGreater
case "=":
case "", "=":
d.Relation = VersionEqual
default:
err = fmt.Errorf("relation unknown: %s", rel)
err = fmt.Errorf("relation unknown %#v in dependency %s", rel, dep)
}
return