# 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 ` : install a SDK using a file - `--force`: force SDK install when a SDK already in the same destination directory - `-u|--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.