From ae669055ba48fcea92d08d31240ca23643426144 Mon Sep 17 00:00:00 2001 From: "warren.veerasingam" Date: Mon, 2 Mar 2020 22:03:49 -0600 Subject: [PATCH] Refactored code - not to run init() --- lib/install.go | 14 +++++++++++++- lib/symlink.go | 4 +++- main.go | 9 +-------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/install.go b/lib/install.go index 6d416a43..75a86bbe 100644 --- a/lib/install.go +++ b/lib/install.go @@ -22,7 +22,7 @@ var ( //installedBinPath = "/tmp" ) -func init() { +func initialize() { /* get current user */ usr, errCurr := user.Current() if errCurr != nil { @@ -65,6 +65,17 @@ func Install(tfversion string, binPath string) { os.Exit(1) } + pathDir := Path(binPath) //get path directory from binary path + binDirExist := CheckDirExist(pathDir) //check bin path exist + + if !binDirExist { + fmt.Printf("Error - Binary path does not exist: %s\n", pathDir) + fmt.Printf("Create binary path: %s for terraform installation\n", pathDir) + os.Exit(1) + } + + initialize() //initialize path + goarch := runtime.GOARCH goos := runtime.GOOS @@ -113,6 +124,7 @@ func Install(tfversion string, binPath string) { /* remove zipped file to clear clutter */ RemoveFiles(installLocation + installVersion + tfversion + "_" + goos + "_" + goarch + ".zip") + fmt.Println("rm2 symlink") /* remove current symlink if exist*/ symlinkExist := CheckSymlink(binPath) diff --git a/lib/symlink.go b/lib/symlink.go index f0df72c4..e1dcc5a2 100644 --- a/lib/symlink.go +++ b/lib/symlink.go @@ -1,6 +1,7 @@ package lib import ( + "fmt" "log" "os" ) @@ -23,7 +24,7 @@ func CreateSymlink(cwd string, dir string) { //RemoveSymlink : remove symlink func RemoveSymlink(symlinkPath string) { - + fmt.Println(symlinkPath) _, err := os.Lstat(symlinkPath) if err != nil { log.Fatalf(` @@ -36,6 +37,7 @@ func RemoveSymlink(symlinkPath string) { os.Exit(1) } else { errRemove := os.Remove(symlinkPath) + fmt.Println("ATTEMPING TO RM") if errRemove != nil { log.Fatalf(` Unable to remove symlink. diff --git a/main.go b/main.go index f5280793..7d4a6060 100644 --- a/main.go +++ b/main.go @@ -105,14 +105,7 @@ func main() { tfversion = version.(string) } - pathDir := lib.Path(binPath) //get path directory from binary path - binDirExist := lib.CheckDirExist(pathDir) //check bin path exist - - if !binDirExist { - fmt.Printf("Binary path does not exist: %s\n", pathDir) - fmt.Printf("Create binary path: %s for terraform installation\n", pathDir) - os.Exit(1) - } else if *listAllFlag { //show all terraform version including betas and RCs + if *listAllFlag { //show all terraform version including betas and RCs listAll := true //set list all true - all versions including beta and rc will be displayed installOption(listAll, &binPath) } else if tfversion == "" { // if no version is provided, show a dropdown of available release versions