aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2018-05-27 17:34:59 +0700
committerShulhan <ms@kilabit.info>2018-05-27 17:34:59 +0700
commit22975b16c0971dff152f66083110093f2c07a602 (patch)
tree02cc28f8cf50300b580f528df087b1e16de59c19
parentc8635866b09a92ca42db2be2caf42bb6d4aab32c (diff)
downloadbeku-22975b16c0971dff152f66083110093f2c07a602.tar.xz
Run "go install" on all packages after freezing dependencies
-rw-r--r--env.go30
-rw-r--r--package.go6
2 files changed, 20 insertions, 16 deletions
diff --git a/env.go b/env.go
index cf23771..5edf5ff 100644
--- a/env.go
+++ b/env.go
@@ -93,7 +93,10 @@ func (env *Env) cleanUnused() {
// and remove non-registered from GOPATH "src" and "pkg" directories.
//
func (env *Env) Freeze() (err error) {
- var localPkg *Package
+ var (
+ localPkg *Package
+ ok bool
+ )
for _, pkg := range env.pkgs {
fmt.Printf(">>> Freezing %s@%s\n", pkg.ImportPath, pkg.Version)
@@ -126,7 +129,7 @@ func (env *Env) Freeze() (err error) {
if len(env.pkgsUnused) == 0 {
fmt.Println(">>> No unused packages found.")
- return
+ goto out
}
fmt.Printf("\n>>> The following packages will be cleaned,\n\n")
@@ -136,13 +139,13 @@ func (env *Env) Freeze() (err error) {
fmt.Println()
- ok := confirm(os.Stdin, msgContinue, false)
- if !ok {
- return
+ ok = confirm(os.Stdin, msgContinue, false)
+ if ok {
+ env.cleanUnused()
}
- env.cleanUnused()
-
+out:
+ env.reinstallAll()
fmt.Println(">>> Freeze completed.")
return
@@ -1064,13 +1067,18 @@ func (env *Env) postSync(curPkg, newPkg *Package) (err error) {
// (3)
if len(curPkg.DepsMissing) == 0 {
- err = curPkg.GoInstall()
- if err != nil {
- return
- }
+ _ = curPkg.GoInstall()
}
fmt.Println(">>> Package installed:\n", curPkg)
return
}
+
+func (env *Env) reinstallAll() {
+ for _, pkg := range env.pkgs {
+ if len(pkg.DepsMissing) == 0 {
+ _ = pkg.GoInstall()
+ }
+ }
+}
diff --git a/package.go b/package.go
index 5524f5e..a2f2f48 100644
--- a/package.go
+++ b/package.go
@@ -417,8 +417,6 @@ func (pkg *Package) load(sec *ini.Section) {
// GoInstall a package recursively ("./...").
//
func (pkg *Package) GoInstall() (err error) {
- fmt.Println(">>> Running go install ...")
-
//nolint:gas
cmd := exec.Command("go", "install")
if Debug >= DebugL2 {
@@ -431,9 +429,7 @@ func (pkg *Package) GoInstall() (err error) {
cmd.Stdout = defStdout
cmd.Stderr = defStderr
- if Debug >= DebugL1 {
- fmt.Printf(">>> %s %s\n", cmd.Dir, cmd.Args)
- }
+ fmt.Printf(">>> %s %s\n", cmd.Dir, cmd.Args)
err = cmd.Run()