You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From the user's perspective, nothing will change if they upgrade their version of the above packages.
12
-
They will still receive the correct packages and all the existing command line tools.
13
-
The only thing that will change on their system is an additional package will be installed. This is the `mbed-os-tools` package.
14
-
15
-
16
9
## Package and API structure
17
10
18
-
`mbed-os-tools`will expose the following modules:
11
+
`mbed-os-tools`exposes the following modules:
19
12
20
13
-`mbed_os_tools.detect` - All code contained within Mbed LS, used for detecting attached platforms
21
14
-`mbed_os_tools.test` - All code used to test platforms with the "greentea" framework
22
15
- Will also need to plan ahead for icetea integration here
23
16
24
-
The other packages will then be in charge of taking these modules and exposing the existing public API. (ex. `import mbed_lstools` for mbed-ls)
25
-
The goal will be in the future to remove the other bespoke packages and just consolidate on the `mbed_os_tools.*` API exposed by `mbed-os-tools`.
26
-
This path gives us the opportunity to deprecate the other packages to allow users to migrate.
17
+
The other packages take these modules and expose the existing public API. (ex. `import mbed_lstools` for mbed-ls). The goal will be in the future to remove the other packages and just consolidate on the `mbed_os_tools.*` API exposed by `mbed-os-tools`. This path gives us the opportunity to deprecate the other packages to allow users to migrate.
27
18
28
19
## Versioning
29
20
30
-
The versions of the legacy released packages (initially `mbed-ls`, `mbed-host-tests`, and `mbed-greentea`) will continue unaffected.
31
-
`mbed-os-tools` will be released initially as `0.x` indicating that the APIs are unstable. This will give us time to evolve the API and build up our
32
-
processes. We don't intend to make API changes that often, but it may be necessary to do so in the first few releases.
21
+
The versions of the released packages (initially `mbed-ls`, `mbed-host-tests`, and `mbed-greentea`) will continue unaffected.
22
+
`mbed-os-tools` will be released initially as `0.x` indicating that the APIs are unstable. This will give us time to evolve the API and build up our processes. We don't intend to make API changes that often, but it may be necessary to do so in the first few releases.
33
23
34
-
When it comes time to drop the legacy packages, `mbed-os-tools` will be released as stable (`1.0`). Before being released as stable, the following tasks should
24
+
When it comes time to drop the packages, `mbed-os-tools` will be released as stable (`1.0`). Before being released as stable, the following tasks should
35
25
be completed:
36
26
37
-
- All legacy packages are marked as deprecated with a redirect to `mbed-os-tools`
38
-
- The Python modules should also print deprecation messages when using the legacy modules directly
39
-
- Any relevant issues on each of the legacy projects' GitHub pages are filed against `mbed-os-tools`
27
+
- All packages are marked as deprecated with a redirect to `mbed-os-tools`
28
+
- The Python modules should also print deprecation messages when using the modules directly
40
29
- All documentation for `mbed-os-tools` needs to be delivered to the Mbed OS docs team for deployment to `os.mbed.com/docs`
41
30
42
31
## Releasing
@@ -46,15 +35,22 @@ be completed:
46
35
The packages need to be released in the correct order. This is due to the new dependencies described above. Follow these steps to make a new release of the tools:
47
36
48
37
1. Release mbed-os-tools with a patch version increase
49
-
2. For each legacy package, change the "mbed-os-tools" requirement version to the number just released (in this case it would be 0.0.1).
50
-
3. For each legacy package, increase each patch number (this will vary with each package).
51
-
4. Release each legacy package to pypi
38
+
2. For each package, change the "mbed-os-tools" requirement version to the number just released (in this case it would be 0.0.1).
39
+
3. For each package, increase each patch number (this will vary with each package).
40
+
4. Release each package to pypi
41
+
42
+
The packages are uploaded to pypi using the [twine](https://github.com/pypa/twine) utility. Once your pypi credentials are setup, run the following commands in each package:
43
+
44
+
```
45
+
python setup.py sdist
46
+
twin upload dist/<package>.tar.gz
47
+
```
52
48
53
49
## Documentation
54
50
55
51
All public APIs are required to be fully documented with comments throughout the codebase. From these comments,
56
52
we will generate API documentation. There will also be examples and in-depth descriptions for higher-level concepts.
57
-
This documentation is strictly for the `mbed-os-tools` package, **NOT the other legacy packages**. The legacy packages will
53
+
This documentation is strictly for the `mbed-os-tools` package, **NOT the other packages**. The other packages will
58
54
retain their current documentation (typically just a README in the project folder).
59
55
60
56
The documentation will be versioned with each release of `mbed-os-tools`. We plan to evolve the automated processes to generate
0 commit comments