Skip to content

[skip changelog] Improve documentation re: referencing tools in a package index #814

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

Merged
merged 2 commits into from
Jul 23, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions docs/package_index_json-specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ Tools are mapped as JSON in this way:
```

The field `name` and `version` are respectively the name and version of the tool. Each tool is uniquely identified by
the triple (`vendor`, `name`, `version`) and there can be many different versions of the same tool available at the same
time, for example:
the triple (`packager`, `name`, `version`). `packager` (AKA "vendor") is defined by the `name` value of the tool's
package. There can be many different versions of the same tool available at the same time, for example:

- (`arduino`, `avr-gcc`, `4.8.1-arduino2`)
- (`arduino`, `avr-gcc`, `4.8.1-arduino3`)
Expand Down Expand Up @@ -215,8 +215,9 @@ Each PLATFORM describes a core for a specific architecture. The fields needed ar
TOOLS
- `boards`: the list of boards supported (note: just the names to display on the Arduino IDE and Arduino Pro IDE's
Boards Manager GUI! the real boards definitions are inside `boards.txt` inside the core archive file)
- `toolsDependencies`: the tools needed by this core. Each tool is referenced by the triple (`packager`, `name`,
`version`) as previously said. Note that you can reference tools available in other packages as well.
- `toolsDependencies`: the tools needed by this core. They will be installed by Boards Manager along with the platform.
Each tool is referenced by the triple (`packager`, `name`, `version`) as previously said. Note that you can reference
tools available in other packages as well, even if no platform of that package is installed.

The `version` field is validated by both Arduino IDE and [JSemVer](https://github.com/zafarkhaja/jsemver). Here are the
rules Arduino IDE follows for parsing versions
Expand Down