Printing too large of a string can fail in Windows, as detailed here:
https://bugs.python.org/issue11395. This works around the problem by
adding a print_large_string function that breaks up the string into
smaller pieces before printing it.
*Changes*
- Parallel export
- mbed-os tests added
- specified release version (default to 5)
- default tests AND targets dependent on specified release version
Makes several broad changes:
- removes dead code that dealt with the online build system
- replaces export function with a much simpler one that:
- does not copy any sources
- the zip file hits the disk
- the mbed_config.h hits the disk
- the project files hit the disk
- nothing else hits the disk
- exporters use Resource object scanned with a toolchain
- progen exporters don't optionally build a project instead they have a
build function that may be called afterwards
- much of the code passes pylint (have a score of 9 or above):
- project.py
- project_api.py
- export/__init__.py
- export/exporters.py
- test/export/build_test.py
Before this PR:
```
Successful exports:
* K64F::uvision .\projectfiles\uvision\Unnamed_Project_K64F
```
After this PR:
```
Successful exports:
* K64F::uvision .\projectfiles\uvision_K64F\Unnamed_Project
```
The directory name now contains <ide>_<target>, and there's a single
project per directory as a result.
Previously it was .zip always, even when using sources. This patch fixes it:`
```
Successful exports:
* K64F::uvision path\projectfiles\uvision\Unnamed_Project_K64F
```