Remove dead code.
diff --git a/cmd/flatten.go b/cmd/flatten.go index f49d3b5..7f2534e 100644 --- a/cmd/flatten.go +++ b/cmd/flatten.go
@@ -11,7 +11,7 @@ "github.com/Masterminds/glide/cfg" "github.com/Masterminds/glide/dependency" "github.com/Masterminds/glide/msg" - //"github.com/Masterminds/glide/util" + "github.com/Masterminds/glide/util" "github.com/Masterminds/semver" ) @@ -59,17 +59,17 @@ f := &flattening{conf, vend, vend, deps, packages} - pkgs, err := findAllProjects(f, strings.TrimSuffix(vend, "/vendor")) - if err != nil { - return conf, err - } - conf.Imports = pkgs - return conf, nil + //pkgs, err := findAllProjects(f, strings.TrimSuffix(vend, "/vendor")) + //if err != nil { + //return conf, err + //} + //conf.Imports = pkgs + //return conf, nil // The assumption here is that once something has been scanned once in a // run, there is no need to scan it again. scanned := map[string]bool{} - err = recFlatten(f, force, home, cache, cacheGopath, skipGopath, scanned) + err := recFlatten(f, force, home, cache, cacheGopath, skipGopath, scanned) if err != nil { return conf, err } @@ -328,6 +328,7 @@ UseCache: false, UseCacheGopath: false, SkipGopath: true, + alreadyDone: map[string]bool{}, } resolved, err := resolver.ResolveAll([]*cfg.Dependency{&cfg.Dependency{Name: pkg}}) @@ -353,7 +354,7 @@ //scanned[d] = true } - msg.Info("Returning %v (len: %d)", cp, len(cp)) + msg.Debug("Returning %v (len: %d)", cp, len(cp)) return cp, true /* @@ -544,12 +545,19 @@ type InstallMissingPackagesHandler struct { Vendor, Home string UseCache, UseCacheGopath, SkipGopath bool + alreadyDone map[string]bool } func (i *InstallMissingPackagesHandler) NotFound(pkg string) (bool, error) { - d := &cfg.Dependency{Name: pkg} - dest := filepath.Join(i.Vendor, pkg) - msg.Info("Cloning %s into %s", pkg, dest) + proj := util.GetRootFromPackage(pkg) + if i.alreadyDone[proj] { + return true, nil + } + i.alreadyDone[proj] = true + d := &cfg.Dependency{Name: proj} + dest := filepath.Join(i.Vendor, proj) + + msg.Info("Cloning %s into %s", proj, dest) if err := VcsGet(d, dest, i.Home, i.UseCache, i.UseCacheGopath, i.SkipGopath); err != nil { return false, err }
diff --git a/cmd/get_imports.go b/cmd/get_imports.go index 590ebae..894d469 100644 --- a/cmd/get_imports.go +++ b/cmd/get_imports.go
@@ -827,3 +827,13 @@ } return out } + +// list2map takes a list of packages names and creates a map of normalized names. +func list2map(in []string) map[string]bool { + out := make(map[string]bool, len(in)) + for _, v := range in { + v, _ := NormalizeName(v) + out[v] = true + } + return out +}
diff --git a/cmd/update_references.go b/cmd/update_references.go deleted file mode 100644 index 176d972..0000000 --- a/cmd/update_references.go +++ /dev/null
@@ -1,155 +0,0 @@ -package cmd - -import ( - "path/filepath" - - "github.com/Masterminds/cookoo" - "github.com/Masterminds/glide/cfg" - "github.com/Masterminds/glide/dependency" -) - -// UpdateReferences updates the revision numbers on all of the imports. -// -// If a `packages` list is supplied, only the given base packages will -// be updated. -// -// Params: -// - conf (*cfg.Config): Configuration -// - packages ([]string): A list of packages to update. Default is all packages. -func UpdateReferences(c cookoo.Context, p *cookoo.Params) (interface{}, cookoo.Interrupt) { - conf := p.Get("conf", &cfg.Config{}).(*cfg.Config) - plist := p.Get("packages", []string{}).([]string) - vend, _ := VendorPath(c) - pkgs := list2map(plist) - restrict := len(pkgs) > 0 - - cwd, err := VendorPath(c) - if err != nil { - return false, err - } - - if len(conf.Imports) == 0 { - return conf, nil - } - - // Walk the dependency tree to discover all the packages to pin. - packages := make([]string, len(conf.Imports)) - for i, v := range conf.Imports { - packages[i] = v.Name - } - deps := make(map[string]*cfg.Dependency, len(conf.Imports)) - for _, imp := range conf.Imports { - deps[imp.Name] = imp - } - f := &flattening{conf, vend, vend, deps, packages} - err = discoverDependencyTree(f) - if err != nil { - return conf, err - } - - exportFlattenedDeps(conf, deps) - - err = conf.DeDupe() - if err != nil { - return conf, err - } - - for _, imp := range conf.Imports { - if restrict && !pkgs[imp.Name] { - Debug("===> Skipping %q", imp.Name) - continue - } - commit, err := VcsLastCommit(imp, cwd) - if err != nil { - Warn("Could not get commit on %s: %s", imp.Name, err) - } - imp.Reference = commit - } - - return conf, nil -} - -func discoverDependencyTree(f *flattening) error { - Debug("---> Inspecting %s for dependencies (%d packages).\n", f.curr, len(f.scan)) - - // projects tracks which projects we have seen. Initially, it's everytning - // in f.deps. As we go, we'll merge in all of the others that we find. - projects := f.deps - - // Get all of the packages that are used. - resolver, err := dependency.NewResolver(f.top) - if err != nil { - return err - } - - dlist := make([]*cfg.Dependency, 0, len(f.deps)) - for _, d := range f.deps { - dlist = append(dlist, d) - } - pkgs, err := resolver.ResolveAll(dlist) - if err != nil { - return err - } - - // From the packages, we just want the repositories. So we get a normalized - // list of dependencies. - for _, d := range pkgs { - d, err = filepath.Rel(f.top, d) - if err != nil { - Warn("Cannot resolve relative path: %s", err) - } - d, _ := NormalizeName(d) - - if _, ok := projects[d]; !ok { - projects[d] = &cfg.Dependency{Name: d} - Info("====> %s", d) - } - } - - // At this point, we know that we have an exhaustive list of packages, so - // we can now just look for files that will tell us what version of each - // package to use. - - /* - scanned := map[string]bool{} - for _, imp := range f.scan { - Debug("----> Scanning %s", imp) - base := path.Join(f.top, imp) - mod := []string{} - if m, ok := mergeGlide(base, imp, f.deps, f.top); ok { - mod = m - } else if m, ok = mergeGodep(base, imp, f.deps, f.top); ok { - mod = m - } else if m, ok = mergeGPM(base, imp, f.deps, f.top); ok { - mod = m - } else if m, ok = mergeGb(base, imp, f.deps, f.top); ok { - mod = m - } else if m, ok = mergeGuess(base, imp, f.deps, f.top, scanned); ok { - mod = m - } - - if len(mod) > 0 { - Debug("----> Looking for dependencies in %q (%d)", imp, len(mod)) - f2 := &flattening{ - conf: f.conf, - top: f.top, - curr: base, - deps: f.deps, - scan: mod} - discoverDependencyTree(f2) - } - } - */ - - return nil -} - -// list2map takes a list of packages names and creates a map of normalized names. -func list2map(in []string) map[string]bool { - out := make(map[string]bool, len(in)) - for _, v := range in { - v, _ := NormalizeName(v) - out[v] = true - } - return out -}