2019-06-14 16:34:27 +00:00
|
|
|
package path
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"os"
|
|
|
|
|
"path/filepath"
|
|
|
|
|
|
2021-04-01 18:44:18 +00:00
|
|
|
"github.com/argoproj/argo-cd/v2/util/errors"
|
2019-06-14 16:34:27 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type AddBinDirToPath struct {
|
|
|
|
|
originalPath string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (h AddBinDirToPath) Close() {
|
|
|
|
|
_ = os.Setenv("PATH", h.originalPath)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// add the hack path which has the git-ask-pass.sh shell script
|
|
|
|
|
func NewBinDirToPath() AddBinDirToPath {
|
|
|
|
|
originalPath := os.Getenv("PATH")
|
|
|
|
|
binDir, err := filepath.Abs("../../hack")
|
|
|
|
|
errors.CheckError(err)
|
|
|
|
|
err = os.Setenv("PATH", fmt.Sprintf("%s:%s", originalPath, binDir))
|
|
|
|
|
errors.CheckError(err)
|
|
|
|
|
return AddBinDirToPath{originalPath}
|
|
|
|
|
}
|