Code Review
/
src
/
xds
/
xds-cli.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Update .gitreview file
[src/xds/xds-cli.git]
/
cmd-exec.go
diff --git
a/cmd-exec.go
b/cmd-exec.go
index
aebbeb2
..
98ceb78
100644
(file)
--- a/
cmd-exec.go
+++ b/
cmd-exec.go
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 2017 "IoT.bzh"
+ * Copyright (C) 2017
-2018
"IoT.bzh"
* Author Sebastien Douheret <sebastien@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* Author Sebastien Douheret <sebastien@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@
-23,7
+23,7
@@
import (
"os"
"strings"
"os"
"strings"
- "g
ithub.com/iotbzh/xds-agen
t/lib/xaapiv1"
+ "g
errit.automotivelinux.org/gerrit/src/xds/xds-agent.gi
t/lib/xaapiv1"
"github.com/urfave/cli"
)
"github.com/urfave/cli"
)
@@
-31,7
+31,7
@@
func initCmdExec(cmdDef *[]cli.Command) {
*cmdDef = append(*cmdDef, cli.Command{
Name: "exec",
Usage: "execute a command in XDS",
*cmdDef = append(*cmdDef, cli.Command{
Name: "exec",
Usage: "execute a command in XDS",
- Action: exec,
+ Action: exec
Cmd
,
Flags: []cli.Flag{
cli.StringFlag{
Name: "id",
Flags: []cli.Flag{
cli.StringFlag{
Name: "id",
@@
-48,11
+48,17
@@
func initCmdExec(cmdDef *[]cli.Command) {
EnvVar: "XDS_SDK_ID",
Usage: "Cross Sdk ID to use to build project",
},
EnvVar: "XDS_SDK_ID",
Usage: "Cross Sdk ID to use to build project",
},
+ cli.BoolFlag{
+ Name: "ldlibpath-no-reset",
+ Hidden: true,
+ EnvVar: "XDS_LD_LIBRARY_PATH_NO_RESET",
+ Usage: "Don't reset LD_LIBRARY_PATH before executing command",
+ },
},
})
}
},
})
}
-func exec(ctx *cli.Context) error {
+func exec
Cmd
(ctx *cli.Context) error {
prjID := ctx.String("id")
rPath := ctx.String("rpath")
sdkid := ctx.String("sdkid")
prjID := ctx.String("id")
rPath := ctx.String("rpath")
sdkid := ctx.String("sdkid")
@@
-78,7
+84,7
@@
func exec(ctx *cli.Context) error {
}
exitChan := make(chan exitResult, 1)
}
exitChan := make(chan exitResult, 1)
- IO
sk
.On("disconnection", func(err error) {
+ IO
SkClient
.On("disconnection", func(err error) {
Log.Debugf("WS disconnection event with err: %v\n", err)
exitChan <- exitResult{err, 2}
})
Log.Debugf("WS disconnection event with err: %v\n", err)
exitChan <- exitResult{err, 2}
})
@@
-96,15
+102,15
@@
func exec(ctx *cli.Context) error {
}
}
}
}
- IO
sk
.On(xaapiv1.ExecOutEvent, func(ev xaapiv1.ExecOutMsg) {
+ IO
SkClient
.On(xaapiv1.ExecOutEvent, func(ev xaapiv1.ExecOutMsg) {
outFunc(ev.Timestamp, ev.Stdout, ev.Stderr)
})
outFunc(ev.Timestamp, ev.Stdout, ev.Stderr)
})
- IO
sk
.On(xaapiv1.ExecExitEvent, func(ev xaapiv1.ExecExitMsg) {
+ IO
SkClient
.On(xaapiv1.ExecExitEvent, func(ev xaapiv1.ExecExitMsg) {
exitChan <- exitResult{ev.Error, ev.Code}
})
exitChan <- exitResult{ev.Error, ev.Code}
})
- IO
sk
.On(xaapiv1.EVTProjectChange, func(ev xaapiv1.EventMsg) {
+ IO
SkClient
.On(xaapiv1.EVTProjectChange, func(ev xaapiv1.EventMsg) {
prj, _ := ev.DecodeProjectConfig()
Log.Infof("Event %v (%v): %v", ev.Type, ev.Time, prj)
})
prj, _ := ev.DecodeProjectConfig()
Log.Infof("Event %v (%v): %v", ev.Type, ev.Time, prj)
})
@@
-144,13
+150,14
@@
func exec(ctx *cli.Context) error {
// Send build command
args := xaapiv1.ExecArgs{
// Send build command
args := xaapiv1.ExecArgs{
- ID: prjID,
- SdkID: sdkid,
- Cmd: strings.Trim(argsCommand[0], " "),
- Args: argsCommand[1:],
- Env: env,
- RPath: rPath,
- CmdTimeout: 60,
+ ID: prjID,
+ SdkID: sdkid,
+ Cmd: strings.Trim(argsCommand[0], " "),
+ Args: argsCommand[1:],
+ Env: env,
+ RPath: rPath,
+ LdLibPathNoReset: ctx.Bool("ldlibpath-no-reset"),
+ CmdTimeout: 60,
}
LogPost("POST /exec %v", args)
}
LogPost("POST /exec %v", args)
@@
-160,6
+167,10
@@
func exec(ctx *cli.Context) error {
// Wait exit
select {
// Wait exit
select {
+ case res := <-IOSkClient.ServerDiscoChan:
+ Log.Debugf("XDS Server disconnected %v", res)
+ return cli.NewExitError(res.error, res.code)
+
case res := <-exitChan:
errStr := ""
if res.code == 0 {
case res := <-exitChan:
errStr := ""
if res.code == 0 {