Updating install to use the cache by default
diff --git a/action/install.go b/action/install.go
index 3e28788..b3f5052 100644
--- a/action/install.go
+++ b/action/install.go
@@ -1,18 +1,18 @@
package action
import (
+ "fmt"
"path/filepath"
"github.com/Masterminds/glide/cache"
"github.com/Masterminds/glide/cfg"
- "github.com/Masterminds/glide/dependency"
"github.com/Masterminds/glide/msg"
gpath "github.com/Masterminds/glide/path"
"github.com/Masterminds/glide/repo"
)
// Install installs a vendor directory based on an existing Glide configuration.
-func Install(installer *repo.Installer, strip, stripVendor bool) {
+func Install(installer *repo.Installer, stripVendor bool) {
if installer.UseCache {
cache.SystemLock()
}
@@ -39,6 +39,9 @@
if err != nil {
msg.Die("Could not load lockfile.")
} else if hash != lock.Hash {
+ fmt.Println(hash, lock.Hash)
+ foo, _ := conf.Marshal()
+ fmt.Println(string(foo))
msg.Warn("Lock file may be out of date. Hash check of YAML failed. You may need to run 'update'")
}
@@ -55,26 +58,9 @@
msg.Err("Failed to set references: %s (Skip to cleanup)", err)
}
- // Delete unused packages
- if installer.DeleteUnused {
- // newConf is calculated based on the lock file so it should be
- // accurate to the project list.
- dependency.DeleteUnused(newConf)
- }
-
- // VendoredCleanup. This should ONLY be run if UpdateVendored was specified.
- // When stripping VCS happens this will happen as well. No need for double
- // effort.
- if installer.UpdateVendored && !strip {
- repo.VendoredCleanup(newConf)
- }
-
- if strip {
- msg.Info("Removing version control data from vendor directory...")
- err := gpath.StripVcs()
- if err != nil {
- msg.Err("Unable to strip version control data: %s", err)
- }
+ err = installer.Export(newConf)
+ if err != nil {
+ msg.Die("Unable to export dependencies to vendor directory: %s", err)
}
if stripVendor {
diff --git a/glide.go b/glide.go
index f86b491..2e7cb1d 100644
--- a/glide.go
+++ b/glide.go
@@ -441,36 +441,43 @@
from the lock file.`,
Flags: []cli.Flag{
cli.BoolFlag{
- Name: "delete",
- Usage: "Delete vendor packages not specified in config.",
+ Name: "delete",
+ Usage: "Delete vendor packages not specified in config.",
+ Hidden: true,
},
cli.BoolFlag{
Name: "force",
Usage: "If there was a change in the repo or VCS switch to new one. Warning: changes will be lost.",
},
cli.BoolFlag{
- Name: "update-vendored, u",
- Usage: "Update vendored packages (without local VCS repo). Warning: this may destroy local modifications to vendor/.",
+ Name: "update-vendored, u",
+ Usage: "Update vendored packages (without local VCS repo). Warning: this may destroy local modifications to vendor/.",
+ Hidden: true,
},
cli.StringFlag{
- Name: "file, f",
- Usage: "Save all of the discovered dependencies to a Glide YAML file. (DEPRECATED: This has no impact.)",
+ Name: "file, f",
+ Usage: "Save all of the discovered dependencies to a Glide YAML file. (DEPRECATED: This has no impact.)",
+ Hidden: true,
},
cli.BoolFlag{
- Name: "cache",
- Usage: "When downloading dependencies attempt to cache them.",
+ Name: "cache",
+ Usage: "When downloading dependencies attempt to cache them.",
+ Hidden: true,
},
cli.BoolFlag{
- Name: "cache-gopath",
- Usage: "When downloading dependencies attempt to put them in the GOPATH, too.",
+ Name: "cache-gopath",
+ Usage: "When downloading dependencies attempt to put them in the GOPATH, too.",
+ Hidden: true,
},
cli.BoolFlag{
- Name: "use-gopath",
- Usage: "Copy dependencies from the GOPATH if they exist there.",
+ Name: "use-gopath",
+ Usage: "Copy dependencies from the GOPATH if they exist there.",
+ Hidden: true,
},
cli.BoolFlag{
- Name: "strip-vcs, s",
- Usage: "Removes version control metadata (e.g, .git directory) from the vendor folder.",
+ Name: "strip-vcs, s",
+ Usage: "Removes version control metadata (e.g, .git directory) from the vendor folder.",
+ Hidden: true,
},
cli.BoolFlag{
Name: "strip-vendor, v",
@@ -482,21 +489,34 @@
},
},
Action: func(c *cli.Context) error {
- if c.Bool("strip-vendor") && !c.Bool("strip-vcs") {
- msg.Die("--strip-vendor cannot be used without --strip-vcs")
+ if c.Bool("delete") {
+ msg.Warn("The --delete flag is deprecated. This now works by default.")
+ }
+ if c.Bool("update-vendored") {
+ msg.Warn("The --update-vendored flag is deprecated. This now works by default.")
+ }
+ if c.String("file") != "" {
+ msg.Warn("The --flag flag is deprecated.")
+ }
+ if c.Bool("cache") {
+ msg.Warn("The --cache flag is deprecated. This now works by default.")
+ }
+ if c.Bool("cache-gopath") {
+ msg.Warn("The --cache-gopath flag is deprecated.")
+ }
+ if c.Bool("use-gopath") {
+ msg.Warn("The --use-gopath flag is deprecated. Please see overrides.")
+ }
+ if c.Bool("strip-vcs") {
+ msg.Warn("The --strip-vcs flag is deprecated. This now works by default.")
}
installer := repo.NewInstaller()
installer.Force = c.Bool("force")
- installer.UseCache = c.Bool("cache")
- installer.UseGopath = c.Bool("use-gopath")
- installer.UseCacheGopath = c.Bool("cache-gopath")
- installer.UpdateVendored = c.Bool("update-vendored")
installer.Home = c.GlobalString("home")
- installer.DeleteUnused = c.Bool("delete")
installer.ResolveTest = !c.Bool("skip-test")
- action.Install(installer, c.Bool("strip-vcs"), c.Bool("strip-vendor"))
+ action.Install(installer, c.Bool("strip-vendor"))
return nil
},
},
@@ -609,10 +629,6 @@
msg.Warn("The --strip-vcs flag is deprecated. This now works by default.")
}
- if c.Bool("strip-vendor") && !c.Bool("strip-vcs") {
- msg.Die("--strip-vendor cannot be used without --strip-vcs")
- }
-
if c.Bool("resolve-current") {
util.ResolveCurrent = true
msg.Warn("Only resolving dependencies for the current OS/Arch")
diff --git a/glide.lock b/glide.lock
index 5f4169c..04390b5 100644
--- a/glide.lock
+++ b/glide.lock
@@ -1,5 +1,5 @@
hash: 84b989218da3e6a1480e6fa95864e838b1e676a970a14d65fffd33cf052a84fd
-updated: 2016-08-11T13:15:29.781819924-04:00
+updated: 2016-08-11T13:38:46.721068785-04:00
imports:
- name: github.com/codegangsta/cli
version: 1efa31f08b9333f1bd4882d61f9d668a70cd902e
diff --git a/repo/installer.go b/repo/installer.go
index 206fb6e..99a6452 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -82,11 +82,6 @@
// Install installs the dependencies from a Lockfile.
func (i *Installer) Install(lock *cfg.Lockfile, conf *cfg.Config) (*cfg.Config, error) {
- cwd, err := gpath.Vendor()
- if err != nil {
- return conf, err
- }
-
// Create a config setup based on the Lockfile data to process with
// existing commands.
newConf := &cfg.Config{}
@@ -111,8 +106,8 @@
msg.Info("Downloading dependencies. Please wait...")
- LazyConcurrentUpdate(newConf.Imports, cwd, i, newConf)
- LazyConcurrentUpdate(newConf.DevImports, cwd, i, newConf)
+ LazyConcurrentUpdate(newConf.Imports, i, newConf)
+ LazyConcurrentUpdate(newConf.DevImports, i, newConf)
return newConf, nil
}
@@ -122,16 +117,14 @@
// vendor directory based on changed config.
func (i *Installer) Checkout(conf *cfg.Config) error {
- dest := i.VendorPath()
-
msg.Info("Downloading dependencies. Please wait...")
- if err := ConcurrentUpdate(conf.Imports, dest, i, conf); err != nil {
+ if err := ConcurrentUpdate(conf.Imports, i, conf); err != nil {
return err
}
if i.ResolveTest {
- return ConcurrentUpdate(conf.DevImports, dest, i, conf)
+ return ConcurrentUpdate(conf.DevImports, i, conf)
}
return nil
@@ -251,13 +244,13 @@
msg.Info("Downloading dependencies. Please wait...")
- err = ConcurrentUpdate(conf.Imports, vpath, i, conf)
+ err = ConcurrentUpdate(conf.Imports, i, conf)
if err != nil {
return err
}
if i.ResolveTest {
- err = ConcurrentUpdate(conf.DevImports, vpath, i, conf)
+ err = ConcurrentUpdate(conf.DevImports, i, conf)
if err != nil {
return err
}
@@ -390,7 +383,7 @@
// LazyConcurrentUpdate updates only deps that are not already checkout out at the right version.
//
// This is only safe when updating from a lock file.
-func LazyConcurrentUpdate(deps []*cfg.Dependency, cwd string, i *Installer, c *cfg.Config) error {
+func LazyConcurrentUpdate(deps []*cfg.Dependency, i *Installer, c *cfg.Config) error {
newDeps := []*cfg.Dependency{}
for _, dep := range deps {
@@ -418,14 +411,14 @@
newDeps = append(newDeps, dep)
}
if len(newDeps) > 0 {
- return ConcurrentUpdate(newDeps, cwd, i, c)
+ return ConcurrentUpdate(newDeps, i, c)
}
return nil
}
// ConcurrentUpdate takes a list of dependencies and updates in parallel.
-func ConcurrentUpdate(deps []*cfg.Dependency, cwd string, i *Installer, c *cfg.Config) error {
+func ConcurrentUpdate(deps []*cfg.Dependency, i *Installer, c *cfg.Config) error {
done := make(chan struct{}, concurrentWorkers)
in := make(chan *cfg.Dependency, concurrentWorkers)
var wg sync.WaitGroup