I propose to forget about PlatformIO 2.0. We are working on the PlatformIO 3.0 and new decentralized architecture for development platforms. All platforms related code has been moved to separate repositories. You will be able to clone/modify or create own development platform in a few steps.
Now, each development platform defines own requirements, contains own build scripts, LD scripts, examples and etc. See:
Related GitHub issue from PlatformIO 3.0 roadmap:
opened 01:00PM - 27 Jan 16 UTC
closed 02:37PM - 11 Jun 16 UTC
feature
# Aims
We are very happy that PlatformIO community is growing up extremely fast… . The last weeks have brought us a lot of requests to add new board or platform https://github.com/platformio/platformio/issues. This forces us to refactor PlatformIO 3.0 development platforms logic from the scratch. The main aim is to allow users, developers or even embedded vendors to create own "development platform" which can be easily installed using PlatformIO.
# Requirements
## Platform developer
Developer of "development platform" should provide the next information for PlatformIO Platform Manager:
- Generic platform information (name, version, etc)
- Package dependencies
- Platform build script
- Frameworks (supported by this platform) build scripts
- Boards list (only for embedded platforms)
**Package dependencies** should allow to use `semver` notation. For example, `"framework-mbed": "~1.2.0"`. In this case default PlatformIO Package Storage should be used. If package does not exist in PlatformIO Package Storage or developer wants to use own package, then allow to specify "direct download link" to it.
## PlatformIO Core
### PlatformIO Platforms Registry
Need to implement public Platforms Registry where will be located information about existing "development platforms". They will by used by http://docs.platformio.org/en/latest/userguide/platforms/cmd_search.html
# Using
# Platform is registered in Platforms Registry
It should look from the CLI as generic CLI for PlatformIO 2.0http://docs.platformio.org/en/latest/userguide/platforms/cmd_install.html
# Platform is not registered in Platforms Registry
Allow to install it directly using archive or folder which contains `platform.json`
```
platformio platform install file:///path/to/platform.zip
platformio platform install https://github.com/path/to/platform.zip
platformio platform install file:///path/to/platform/dir
```
Comments are welcome!