guireleaser/unix.go

69 lines
1.5 KiB
Go

package main
import (
"strings"
"go.wit.com/lib/gui/repostatus"
"go.wit.com/log"
)
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 me.script {
if len(line) == 0 {
continue
}
if line[0] == "cd" {
switch len(line) {
case 1:
log.Verbose("do cmdPwd() TODO: change working path to ~ ?")
workingpath = "/home/jcarr/go/src/go.wit.com/"
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:], " ")
log.Warn("NEED TO RUN path =", workingpath, "cmd =", cmd, s)
if dryRun == "--dry-run" {
continue
}
if dryRun == "--doit" {
log.Warn("Actually RUN path =", workingpath, "cmd =", cmd, s)
err, b, output := repostatus.RunCmd(workingpath, line)
if err != nil {
log.Info("output =", output)
log.Info("ABEND EXECUTION")
log.Info("error =", err)
log.Info("b =", b)
return false
}
// log.Warn("output was =", output)
continue
}
log.Warn("don't know what to do. dryRun ==", dryRun)
return false
}
return true
}
func setGitCommands() {
var tmp []string
// convert to displayable to the user text
for _, line := range me.script {
s := strings.Join(line, " ")
log.Warn("s =", s)
tmp = append(tmp, s)
}
cmds.Set(strings.Join(tmp, "\n"))
}