diff options
author | Sebastien Douheret <sebastien.douheret@iot.bzh> | 2018-06-27 15:52:14 +0200 |
---|---|---|
committer | Sebastien Douheret <sebastien.douheret@iot.bzh> | 2018-06-27 15:52:14 +0200 |
commit | a93832c2e3058c55e183c487dde595bd42238bb0 (patch) | |
tree | fa91d706217327210db4aadc1a8d9f3973f8a5e0 /lib | |
parent | 7f3c55f02aa6b35b3530883a6c1f71ddd1f92eb4 (diff) |
Fixed sdk from local file installation
Rework sdk uuid management because previous code prevented to install
local sdk using following command:
xds-cli sdks install --file $HOME/xds-workspace/my_local_sdk.sh
Change-Id: I20bac8a76d32b005a6775e936756c96048651766
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/xdsserver/sdk.go | 7 | ||||
-rw-r--r-- | lib/xdsserver/sdks.go | 4 | ||||
-rw-r--r-- | lib/xsapiv1/sdks.go | 1 |
3 files changed, 8 insertions, 4 deletions
diff --git a/lib/xdsserver/sdk.go b/lib/xdsserver/sdk.go index 7c912c4..68c92b4 100644 --- a/lib/xdsserver/sdk.go +++ b/lib/xdsserver/sdk.go @@ -92,7 +92,7 @@ func ListCrossSDK(scriptDir string, update bool, log *logrus.Logger) ([]xsapiv1. } // GetSDKInfo Used get-sdk-info script to extract SDK get info from a SDK file/tarball -func GetSDKInfo(scriptDir, url, filename, md5sum string, log *logrus.Logger) (xsapiv1.SDK, error) { +func GetSDKInfo(scriptDir, url, filename, md5sum, uuid string, log *logrus.Logger) (xsapiv1.SDK, error) { sdk := xsapiv1.SDK{} args := []string{} @@ -106,6 +106,9 @@ func GetSDKInfo(scriptDir, url, filename, md5sum string, log *logrus.Logger) (xs } else { return sdk, fmt.Errorf("url of filename must be set") } + if uuid != "" { + args = append(args, "--uuid", uuid) + } cmd := exec.Command(path.Join(scriptDir, scriptGetSdkInfo), args...) stdout, err := cmd.CombinedOutput() @@ -327,7 +330,7 @@ func (s *CrossSDK) Install(file string, force bool, timeout int, args []string, // (see sdks.go / monitorSDKInstallation ) // Update SetupFile when n if s.sdk.SetupFile == "" { - sdkDef, err := GetSDKInfo(s.sdk.FamilyConf.ScriptsDir, s.sdk.URL, "", "", s.Log) + sdkDef, err := GetSDKInfo(s.sdk.FamilyConf.ScriptsDir, s.sdk.URL, "", "", s.sdk.UUID, s.Log) if err != nil || sdkDef.SetupFile == "" { s.Log.Errorf("GetSDKInfo error: %v", err) code = 1 diff --git a/lib/xdsserver/sdks.go b/lib/xdsserver/sdks.go index 4a7ba84..ee6a269 100644 --- a/lib/xdsserver/sdks.go +++ b/lib/xdsserver/sdks.go @@ -340,7 +340,7 @@ func (s *SDKs) Install(id, filepath string, force bool, timeout int, args []stri // Update path when not set if sdk.Path == "" { - sdkDef, err := GetSDKInfo(scriptDir, sdk.URL, "", "", s.Log) + sdkDef, err := GetSDKInfo(scriptDir, sdk.URL, "", "", sdk.UUID, s.Log) if err != nil || sdkDef.Path == "" { return nil, fmt.Errorf("cannot retrieve sdk path %v", err) } @@ -356,7 +356,7 @@ func (s *SDKs) Install(id, filepath string, force bool, timeout int, args []stri } for _, sf := range s.SdksFamilies { - sdkDef, err := GetSDKInfo(sf.ScriptsDir, "", sdkFilename, "", s.Log) + sdkDef, err := GetSDKInfo(sf.ScriptsDir, "", sdkFilename, "", "", s.Log) if err == nil { // OK, sdk found sdk = &sdkDef diff --git a/lib/xsapiv1/sdks.go b/lib/xsapiv1/sdks.go index abb5d4a..54b941b 100644 --- a/lib/xsapiv1/sdks.go +++ b/lib/xsapiv1/sdks.go @@ -30,6 +30,7 @@ const ( type SDK struct { ID string `json:"id" binding:"required"` Name string `json:"name"` + UUID string `json:"uuid"` Description string `json:"description"` Profile string `json:"profile"` Version string `json:"version"` |