feat(run-pkg): added support for exit code

This commit is contained in:
Paul Fey 2025-03-05 13:27:38 +01:00
parent 006b01ddcf
commit 486280fdf3

View file

@ -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) {