X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=cmd-exec.go;h=819b911e42997a064671f09ad17e361c90880ad8;hb=881633b639856a9575072d2f53bb3518acbf64a8;hp=aebbeb234a42edfe4df578c79001248737b9daf5;hpb=721497790c39e6f63d96c74d53d0c2bc9549df2f;p=src%2Fxds%2Fxds-cli.git diff --git a/cmd-exec.go b/cmd-exec.go index aebbeb2..819b911 100644 --- 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 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,7 +23,7 @@ import ( "os" "strings" - "github.com/iotbzh/xds-agent/lib/xaapiv1" + "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent.git/lib/xaapiv1" "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", - Action: exec, + Action: execCmd, Flags: []cli.Flag{ cli.StringFlag{ Name: "id", @@ -52,7 +52,7 @@ func initCmdExec(cmdDef *[]cli.Command) { }) } -func exec(ctx *cli.Context) error { +func execCmd(ctx *cli.Context) error { prjID := ctx.String("id") rPath := ctx.String("rpath") sdkid := ctx.String("sdkid") @@ -78,7 +78,7 @@ func exec(ctx *cli.Context) error { } exitChan := make(chan exitResult, 1) - IOsk.On("disconnection", func(err error) { + IOSkClient.On("disconnection", func(err error) { Log.Debugf("WS disconnection event with err: %v\n", err) exitChan <- exitResult{err, 2} }) @@ -96,15 +96,15 @@ func exec(ctx *cli.Context) error { } } - IOsk.On(xaapiv1.ExecOutEvent, func(ev xaapiv1.ExecOutMsg) { + IOSkClient.On(xaapiv1.ExecOutEvent, func(ev xaapiv1.ExecOutMsg) { outFunc(ev.Timestamp, ev.Stdout, ev.Stderr) }) - IOsk.On(xaapiv1.ExecExitEvent, func(ev xaapiv1.ExecExitMsg) { + IOSkClient.On(xaapiv1.ExecExitEvent, func(ev xaapiv1.ExecExitMsg) { exitChan <- exitResult{ev.Error, ev.Code} }) - IOsk.On(xaapiv1.EVTProjectChange, func(ev xaapiv1.EventMsg) { + IOSkClient.On(xaapiv1.EVTProjectChange, func(ev xaapiv1.EventMsg) { prj, _ := ev.DecodeProjectConfig() Log.Infof("Event %v (%v): %v", ev.Type, ev.Time, prj) }) @@ -160,6 +160,10 @@ func exec(ctx *cli.Context) error { // 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 {