Fixed bug resolving deps - Fixes cases where dependency can end up on imports list multiple times - I think this fixes parsing top level packages even when now used
diff --git a/repo/installer.go b/repo/installer.go index 867ed99..7040876 100644 --- a/repo/installer.go +++ b/repo/installer.go
@@ -201,26 +201,38 @@ } for _, v := range imps { n := res.Stripv(v) - d := conf.Imports.Get(n) + rt, sub := util.NormalizeName(n) + d := conf.Imports.Get(rt) if d == nil { nd := &cfg.Dependency{ - Name: n, + Name: rt, + } + if sub != "" { + nd.Subpackages = []string{sub} } conf.Imports = append(conf.Imports, nd) + } else if sub != "" && !d.HasSubpackage(sub) { + d.Subpackages = append(d.Subpackages, sub) } } if i.ResolveTest { for _, v := range timps { n := res.Stripv(v) - d := conf.Imports.Get(n) + rt, sub := util.NormalizeName(n) + d := conf.Imports.Get(rt) if d == nil { - d = conf.DevImports.Get(n) + d = conf.DevImports.Get(rt) } if d == nil { nd := &cfg.Dependency{ Name: n, } + if sub != "" { + nd.Subpackages = []string{sub} + } conf.DevImports = append(conf.DevImports, nd) + } else if sub != "" && !d.HasSubpackage(sub) { + d.Subpackages = append(d.Subpackages, sub) } } } @@ -400,7 +412,6 @@ // folder. It will attempt to get it from the remote location info. func (m *MissingPackageHandler) NotFound(pkg string, addTest bool) (bool, error) { root := util.GetRootFromPackage(pkg) - // Skip any references to the root package. if root == m.Config.Name { return false, nil @@ -498,7 +509,6 @@ // is available. func (m *MissingPackageHandler) InVendor(pkg string, addTest bool) error { root := util.GetRootFromPackage(pkg) - // Skip any references to the root package. if root == m.Config.Name { return nil
diff --git a/repo/vcs.go b/repo/vcs.go index b2d471f..a5a2c97 100644 --- a/repo/vcs.go +++ b/repo/vcs.go
@@ -36,7 +36,7 @@ } updated.Add(dep.Name) - msg.Info("Fetching updates for %s.\n", dep.Name) + msg.Info("Fetching updates for %s.", dep.Name) if filterArchOs(dep) { msg.Info("%s is not used for %s/%s.\n", dep.Name, runtime.GOOS, runtime.GOARCH)