aboutsummaryrefslogtreecommitdiff
path: root/package.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2018-06-05 23:05:40 +0700
committerShulhan <ms@kilabit.info>2018-06-05 23:05:40 +0700
commitdec955d8f85e6ca5515bee53fd25dc8f24da2027 (patch)
tree4ea60cd6cfcfcbffb9faa61e40ffaa56881b2be0 /package.go
parentd7f5cb4233394a0e810de15ecf2e97a79a9a3acd (diff)
downloadbeku-dec955d8f85e6ca5515bee53fd25dc8f24da2027.tar.xz
NewEnvironment: get or set user PATH from environment
The PATH is used when running specific command, i.e. Run() and GoInstall().
Diffstat (limited to 'package.go')
-rw-r--r--package.go18
1 files changed, 4 insertions, 14 deletions
diff --git a/package.go b/package.go
index a429cdc..b3d735f 100644
--- a/package.go
+++ b/package.go
@@ -238,7 +238,7 @@ func (pkg *Package) RemoveRequiredBy(importPath string) (ok bool) {
//
// Run command on package root directory.
//
-func (pkg *Package) Run(cmds []string) (err error) {
+func (pkg *Package) Run(env *Env, cmds []string) (err error) {
if len(cmds) == 0 {
return
}
@@ -249,13 +249,8 @@ func (pkg *Package) Run(cmds []string) (err error) {
cmd.Args = append(cmd.Args, cmds[1:]...)
}
- path := os.Getenv(envPATH)
- if len(path) == 0 {
- path = defPATH
- }
-
cmd.Env = append(cmd.Env, "GOPATH="+build.Default.GOPATH)
- cmd.Env = append(cmd.Env, "PATH="+path)
+ cmd.Env = append(cmd.Env, "PATH="+env.path)
cmd.Dir = pkg.FullPath
cmd.Stdout = defStdout
cmd.Stderr = defStderr
@@ -516,7 +511,7 @@ func (pkg *Package) load(sec *ini.Section) {
// (1) Set PATH to let go install that require gcc work when invoked from
// non-interactive shell (e.g. buildbot).
//
-func (pkg *Package) GoInstall() (err error) {
+func (pkg *Package) GoInstall(env *Env) (err error) {
//nolint:gas
cmd := exec.Command("go", "install")
if Debug >= DebugL2 {
@@ -524,13 +519,8 @@ func (pkg *Package) GoInstall() (err error) {
}
cmd.Args = append(cmd.Args, "./...")
- path := os.Getenv(envPATH)
- if len(path) == 0 {
- path = defPATH
- }
-
cmd.Env = append(cmd.Env, "GOPATH="+build.Default.GOPATH)
- cmd.Env = append(cmd.Env, "PATH="+path)
+ cmd.Env = append(cmd.Env, "PATH="+env.path)
cmd.Dir = pkg.FullPath
cmd.Stdout = defStdout
cmd.Stderr = defStderr