1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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.
|