| 111 | } |
| 112 | |
| 113 | func dockerInstall() error { |
| 114 | var err error |
| 115 | |
| 116 | targetFile := sdkMap[SDK_DOCKER_COMPONENT_NAME].FileName |
| 117 | if _, err = os.Stat(targetFile); err == nil { |
| 118 | whisk.Debug(whisk.DbgError, "os.Stat reports file '%s' exists\n", targetFile) |
| 119 | errStr := wski18n.T("The file '{{.name}}' already exists. Delete it and retry.", |
| 120 | map[string]interface{}{"name": targetFile}) |
| 121 | werr := whisk.MakeWskError(errors.New(errStr), whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.NO_DISPLAY_USAGE) |
| 122 | return werr |
| 123 | } |
| 124 | |
| 125 | if err = sdkInstall(SDK_DOCKER_COMPONENT_NAME); err != nil { |
| 126 | whisk.Debug(whisk.DbgError, "sdkInstall(%s) failed: %s\n", SDK_DOCKER_COMPONENT_NAME, err) |
| 127 | errStr := wski18n.T("The {{.component}} SDK installation failed: {{.err}}", |
| 128 | map[string]interface{}{"component": SDK_DOCKER_COMPONENT_NAME, "err": err}) |
| 129 | werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.NO_DISPLAY_USAGE) |
| 130 | return werr |
| 131 | } |
| 132 | |
| 133 | fmt.Println(wski18n.T("The docker skeleton is now installed at the current directory.")) |
| 134 | return nil |
| 135 | } |
| 136 | |
| 137 | func iOSInstall() error { |
| 138 | var err error |