New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"platform.json" manifest for development platform #479

Closed
ivankravets opened this Issue Jan 27, 2016 · 3 comments

Comments

Projects
None yet
2 participants
@ivankravets
Member

ivankravets commented Jan 27, 2016

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!

@beriberikix

This comment has been minimized.

Show comment
Hide comment
@beriberikix

beriberikix Mar 15, 2016

Awesome! Would installing from git also be supported? NPM has a good example for this.

beriberikix commented Mar 15, 2016

Awesome! Would installing from git also be supported? NPM has a good example for this.

@ivankravets

This comment has been minimized.

Show comment
Hide comment
@ivankravets

ivankravets Mar 15, 2016

Member

@beriberikix I don't see any problems to not support CVS. However, need to understand that CVS clients are not installed on the all host OS. Maybe, some warnings to user?

Member

ivankravets commented Mar 15, 2016

@beriberikix I don't see any problems to not support CVS. However, need to understand that CVS clients are not installed on the all host OS. Maybe, some warnings to user?

ivankravets added a commit that referenced this issue May 23, 2016

ivankravets added a commit that referenced this issue May 26, 2016

ivankravets added a commit that referenced this issue May 26, 2016

ivankravets added a commit that referenced this issue May 27, 2016

ivankravets added a commit that referenced this issue May 30, 2016

ivankravets added a commit that referenced this issue May 30, 2016

ivankravets added a commit that referenced this issue May 31, 2016

ivankravets added a commit that referenced this issue Jun 11, 2016

ivankravets added a commit that referenced this issue Sep 9, 2016

Merge branch 'develop' into feature/unicode-issue-771
* develop:
  Fix incorrect line order when converting from INO to CPP and pointer is used
  Fix unit test
  Notify about `version` field when creating library
  Add support for SparkFun Blynk Board
  Return valid exit code from ``plaformio test`` command
  Disable SSL Server-Name-Indication for Python < 2.7.9
  Version bump to 3.0.1 (issue #772)
  Disable temporary SSL for PlatformIO services // Resolve #772
  Version bump to 3.0.0 (issues #770, #766, #747, #730, #765, #640, #659, #742, #459, #542, #763, #759, #753, #757, #749, #748, #745, #519, #709, #743, #413, #498, #410, #740, #361, #414, #554, #732, #588, #475, #461, #101, #719, #721, #537, #415, #522, #289, #556, #570, #456, #617, #432, #408, #479, #667, #510)
  Fix menu height for  docs
  Fix issue with multiple archives when linking firmware
  Add migration guide for PIO2 to PIO3
  Search libraries by headers/includes with ``platformio lib search --header`` option
  Update pio run command examples
  Add Unit Testing Demo
  Update PIO Plus badge title and link
  Add PlatformIO Plus badge
  Add links to PlatformIO Plus
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment