From 294025f24806e9c21e463320cd5b68ab1f449bb0 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Tue, 4 Jun 2019 17:01:33 -0700 Subject: [PATCH] test build app Signed-off-by: Jeff Carr --- .gitignore | 2 + build/Makefile | 3 ++ build/main.go | 115 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 build/Makefile create mode 100644 build/main.go diff --git a/.gitignore b/.gitignore index acc8c0b..316ae6f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,8 @@ example-aminal/example-aminal example-multiple-windows/example-multiple-windows example-lookupAAAA/example-lookupAAAA +build/build + test1/test1 test2/test2 test3/test3 diff --git a/build/Makefile b/build/Makefile new file mode 100644 index 0000000..ba52659 --- /dev/null +++ b/build/Makefile @@ -0,0 +1,3 @@ +all: + go build + ./build diff --git a/build/main.go b/build/main.go new file mode 100644 index 0000000..9e96bd5 --- /dev/null +++ b/build/main.go @@ -0,0 +1,115 @@ +package main + +import "log" +// import "fmt" +import "os" +import "os/user" +import "time" +import "runtime" +// import "io/ioutil" +// import "strings" + +// github.com/bramvdbogaerde/go-scp + +import "github.com/davecgh/go-spew/spew" + +import "git.wit.com/wit/shell" + +var filename string +var builddir string +var homedir string + +func main() { + os.Chdir("~/go/src/wit/cloud-control-panel") + + setupUser() + + log.Println("homedir", homedir) + log.Println("builddir", builddir) + log.Println("filename", filename) + + shell.Run("pwd") + s, _ := os.Getwd() + log.Println("Getwd()", s) + os.Chdir(builddir) + log.Println("Getwd()", s) + shell.Run("pwd") + + for { + time.Sleep(time.Second * 5) + build() + os.Exit(0) + } +} + + + /* + // slow down the polling to every 2 seconds + shell.SetDelayInMsec(2000) + shell.Run("ping -c 6 localhost") + + // capture ping output into a file + fout, _ := os.Create("/tmp/example1.ping.stdout") + ferr, _ := os.Create("/tmp/example1.ping.stderr") + shell.SetStdout(fout) + shell.SetStderr(ferr) + + shell.Run("ping -c 5 localhost") + + // turn out process exit debugging + shell.SpewOn() + + fout, _ = os.Create("/tmp/example1.fail.stdout") + ferr, _ = os.Create("/tmp/example1.fail.stderr") + shell.SetStdout(fout) + shell.SetStderr(ferr) + + // TODO: this might not be working + // check error handling + shell.Run("ls /tmpthisisnothere") + */ + +func build() { + // shell.SetDelayInMsec(50) + shell.Run("go get -v .") + + shell.Run("rm " + filename) + shell.Run("go build") + output := shell.Run("ls -l") + shell.Run("cat VERSION") + + log.Println("output =", output) +} + +func ping() { + shell.SetDelayInMsec(2000) + shell.Run("ping -c 6 localhost") +} + + +// func setupUser() string, string, string { +func setupUser() { + // look up the user information + user, err := user.Current() + if err != nil { + os.Exit(-1) + } + spew.Dump(user) + + // TODO: confirm this is correct for MacOS and Windows + if runtime.GOOS == "linux" { + log.Println("loadConfigFile() OS: Linux") + filename = "cloud-control-panel" + builddir = user.HomeDir + "/go/src/git.wit.com/wit/cloud-control-panel" + } else if runtime.GOOS == "windows" { + log.Println("loadConfigFile() OS: Windows") + builddir = user.HomeDir + "\\go\\src\\git.wit.com\\wit\\cloud-control-panel" + filename = "cloud-control-panel.exe" + } else { + log.Println("loadConfigFile() OS: " + runtime.GOOS) + builddir = user.HomeDir + "/go/src/git.wit.com/wit/cloud-control-panel" + filename = "cloud-control-panel" + } + + homedir = user.HomeDir +}