feat(run-pkg): added support for exit code
This commit is contained in:
parent
006b01ddcf
commit
486280fdf3
1 changed files with 21 additions and 2 deletions
|
@ -19,6 +19,7 @@ func main() {
|
|||
var arguments string
|
||||
var program string
|
||||
var workdir string
|
||||
var exit_code int = 0
|
||||
|
||||
fallback_instance_path, ins_err := get_instance_path()
|
||||
|
||||
|
@ -59,7 +60,7 @@ func main() {
|
|||
|
||||
cmdMap["command"] = "run"
|
||||
cmdMap["target"] = target
|
||||
cmdMap["workdir"] = cwd
|
||||
cmdMap["workdir"] = workdir
|
||||
cmdMap["arguments"] = arguments
|
||||
cmdMap["package"] = program
|
||||
|
||||
|
@ -85,14 +86,32 @@ func main() {
|
|||
for {
|
||||
buffer := make([]byte, 1024)
|
||||
n, err := ln.Read(buffer)
|
||||
objmap := make(map[string]interface{})
|
||||
if err == io.EOF {
|
||||
break
|
||||
} else if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
os.Stdout.Write(buffer[:n])
|
||||
err = json.Unmarshal(buffer[:n], &objmap)
|
||||
if err != nil {
|
||||
os.Stdout.Write(buffer[:n])
|
||||
} else {
|
||||
command, has := objmap["command"]
|
||||
if has && command == "end-command-pipe" {
|
||||
status_code, has := objmap["status_code"]
|
||||
if has {
|
||||
exit_code = int(status_code.(float64))
|
||||
break
|
||||
} else {
|
||||
os.Stdout.Write(buffer[:n])
|
||||
}
|
||||
} else {
|
||||
os.Stdout.Write(buffer[:n])
|
||||
}
|
||||
}
|
||||
}
|
||||
}()
|
||||
os.Exit(exit_code)
|
||||
}
|
||||
|
||||
func path_exists(path string) (bool, error) {
|
||||
|
|
Loading…
Add table
Reference in a new issue