guireleaser/unix.go

89 lines
1.9 KiB
Go

package main
import (
"strings"
"go.wit.com/log"
"go.wit.com/gui/lib/repostatus"
)
var repopath string = "/home/jcarr/"
// if dryRun == true, then it just prints out the values
// but doesn't do anything
func goMake(dryRun string) bool {
var workingPath string = "go/src"
for _, line := range script {
if len(line) == 0 {
continue
}
if line[0] == "cd" {
switch len(line) {
case 1:
log.Verbose("do cmdPwd() to go root", repopath + "go/src")
workingPath = ""
case 2:
log.Verbose("do cmdPwd() here", line)
workingPath = line[1]
default:
log.Warn("bad cd", line)
return false
}
continue
}
cmd := line[0]
s := strings.Join(line[1:], " ")
path := repopath + workingPath
log.Warn("NEED TO RUN path =", path, "cmd =", cmd, s)
if dryRun == "--dry-run" {
continue
}
if dryRun == "--doit" {
log.Warn("Actually RUN path =", path, "cmd =", cmd, s)
err, b, output := repostatus.RunCmd(repopath, line)
if err != nil {
log.Info("ABEND EXECUTION")
log.Info("error =", err)
log.Info("b =", b)
log.Info("output =", output)
return false
}
log.Warn("output was =", output)
continue
}
log.Warn("don't know what to do. dryRun ==", dryRun)
return false
}
return true
}
func runCommands() bool {
for _, line := range script {
s := strings.Join(line, " ")
log.Warn("NEED TO RUN:", s)
err, b, output := repostatus.RunCmd(repopath, line)
if err != nil {
log.Warn("ABEND EXECUTION")
log.Warn("error =", err)
log.Warn("output =", output)
return false
}
log.Warn("Returned with b =", b)
log.Warn("output was =", output)
log.Warn("RUN DONE")
}
return true
}
func setGitCommands() {
var tmp []string
// convert to displayable to the user text
for _, line := range script {
s := strings.Join(line, " ")
log.Warn("s =", s)
tmp = append(tmp, s)
}
cmds.Set(strings.Join(tmp, "\n"))
}