-
Notifications
You must be signed in to change notification settings - Fork 179
Description
I'm building application which support multiple targets, all toolchains and different configurations depend on target. Now only way get all binaries is to build with mbed --output..
-option which place binaries to different subfolders, but more hard is to fetch all builds details to one place.
If mbed-cli could provide some kind of build json file to root folder which contains same kind of information than test_spec.json
file it would be much better. This file should describe at least target, sizes, configuration, compiler flags, binary relative location, toolchain, compiler version, module versions (sha/tag), mbed-cli version, ...
This file could be then used by CI for example show some graphs that how build sizes is changed during developing cycles. Also flash tool could select binary using this file. Actually I'm quite sure that we could even combine test_spec.json
file with this in the end, because it provide almost identical information in different format...
File format could be something like this:
{
mbed-cli: <version>,
builds: [
{
duration: <seconds>,
toochain: {
name: <toolchain>,
version: <version>
},
mbed_os: {
version: <string>,
git_commitId: <commitId>,
clean: <boolean: true if no local mods>
},
target: {
name: <target-device-name>,
core: <target core>
},
location: <relative-path>,
memap_ref: <memap-relative-path>,
libraries: [{
name: <lib name>,
version: <string, if relevant>,
git_commitId: <lib commit id>,
clean: <boolean: true if no local mods>
}],
compiler: {
macros: []
flags: [],
},
linker: {
flags: []
},
configuration: {
name: <application-json-file-name>,
ref: <relative-path>
},
...
}
]
Todo
- build data collection (PR merged)
- extend with git details
- integrate all details to elf file with custom section