// Install a SDK (non blocking command, IOW run in background)
func (s *CrossSDK) Install(file string, force bool, timeout int, args []string, sess *ClientSession) error {
- if s.sdk.Status == xsapiv1.SdkStatusInstalled {
+ if s.sdk.Status == xsapiv1.SdkStatusInstalled && !force {
return fmt.Errorf("already installed")
}
if s.sdk.Status == xsapiv1.SdkStatusInstalling {
s.sdk.Status = xsapiv1.SdkStatusInstalling
s.sdk.LastError = ""
+ if err := s.events.Emit(xsapiv1.EVTSDKStateChange, s.sdk, sess.ID); err != nil {
+ s.Log.Errorf("WS Emit EVTSDKStateChange installing : %v", err)
+ }
+
err := s.installCmd.Start()
return err