summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2019-01-25 16:29:30 +0700
committerShulhan <ms@kilabit.info>2019-01-25 16:29:30 +0700
commit165a38ad908da730ec7a17b3cec6c98fa85ff4a7 (patch)
tree9b4fc8696d0467a9b6b08d6e4e08a5e552afde22
parentdbbf74664d21ec00de7b2452656b237079cb1a71 (diff)
downloadbeku-165a38ad908da730ec7a17b3cec6c98fa85ff4a7.tar.xz
env: install package if missing when issuing SyncAll
-rw-r--r--env.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/env.go b/env.go
index f1f2fa1..77bbfd1 100644
--- a/env.go
+++ b/env.go
@@ -1262,6 +1262,17 @@ func (env *Env) SyncAll() (err error) {
fmt.Println("[ENV] SyncAll >>> Updating all packages ...")
for _, pkg := range env.pkgs {
+ if libio.IsDirEmpty(pkg.FullPath) {
+ fmt.Printf("[ENV] SyncAll %s >>> Installing\n",
+ pkg.ImportPath)
+
+ err = pkg.Install()
+ if err != nil {
+ _ = pkg.Remove()
+ return
+ }
+ }
+
fmt.Printf("[ENV] SyncAll %s >>> Current version is %s\n",
pkg.ImportPath, pkg.Version)