Added SDKs management support.
[src/xds/xds-server.git] / scripts / sdks / README.md
diff --git a/scripts/sdks/README.md b/scripts/sdks/README.md
new file mode 100644 (file)
index 0000000..8b741ec
--- /dev/null
@@ -0,0 +1,78 @@
+# SDKs management scripts
+
+To support a new SDK family, you must create a new directory under
+`scripts/sdk/xxx` where xxx is the new SDK family.
+
+Then you must create the following scripts (or executable) :
+
+- `get-config`: returned SDK configuration structure
+- `list`: returned the list of installed SDKs
+- `add`: add a new SDK
+- `remove`: remove an existing SDK
+
+## `get-config`
+
+Returned SDK configuration as json format:
+
+```json
+{
+    "familyName": "xxx",
+    "description": "bla bla",
+    "rootDir": "/yyy/zzz",
+    "envSetupFilename": "my-envfilename*",
+    "scriptsDir": "scripts_path"
+}
+```
+
+where:
+
+- `familyName` : sdk familyName (usually same name used as xxx directory)
+- `rootDir` : root directory where SDK are/will be  installed
+- `envSetupFilename` : sdk files (present in each sdk) that will be sourced to
+  setup sdk environment
+
+## `list`
+
+Returned the list all SDKs (available and installed)
+
+```json
+[
+  {
+    "name":         "My SDK name",
+    "description":  "A description",
+    "profile":      "profile",
+    "version":      "version",
+    "arch":         "architecture",
+    "path":         "path where sdk installed locally",
+    "url":          "https://website.url.to.download.sdk",
+    "status":       "Not Installed | Installed",
+    "date":         "2017-12-25 00:00",
+    "size":         "123 MB",
+    "md5sum":       "123456789",
+    "setupFile":    "path to file to setup SDK environment"
+  }, {
+    "name":         "My SDK name 2",
+    "description":  "A description 2",
+    ...
+  }
+  ...
+]
+```
+
+## `add`
+
+add a new SDK
+
+List of parameters to implement:
+
+- `-f|--file <filepath>` :  install a SDK using a file
+- `--force`:                force SDK install when a SDK already in the same destination directory
+- `-u|--url <url>` :        download SDK using this URL and then install it
+- `-no-clean` :             don't cleanup temporary files
+- `-h|--help` :             display help
+
+## `remove`
+
+Remove an existing SDK
+
+The first argument is the full path of the directory of the SDK to removed.