The build options are now passed through GRPC.
There should be no need to pass library or hardware paths anymore.
By default the daemon compiles and export the hex in the sketch folder
but this is disallowed by the IDE unless the user explicitly run
the "Export .hex" command.
All the business logic to compose board properties and command line
for the build is now embedded in the daemon and has been removed from
the IDE. \o/
- library index is now fetched arduino-cli
- ContributedLibraries and derivatives classes have been adapted
to arduino-cli structure
- install/update/remove are temporary disabled
- library index updated is now done trough arduino-cli
- added progress wrapper
Next steps:
- detect installed libraries using arduino-cli
- implement install/update/remove using arduino-cli
the classes have been renamed as:
ContributedLibrary -> ContributedLibraryRelease
ContributedLibraryReleases -> ContributedLibrary
The reason is that a ContributedLibrary will have a name and a list of
releases, each one containing the relative metadata. The changes to
reflect that will be made in the next commits.
Some platforms may not define directly 'build.core' because it may be defined
through a custom menu.
For example, the arduboy platform has in the boards.txt:
[...]
menu.core=Core
[...]
# core #
arduboy-homemade.menu.core.arduboy-core=Arduboy optimized core
arduboy-homemade.menu.core.arduboy-core.build.core=arduboy
arduboy-homemade.menu.core.arduino-core=Standard Arduino core
arduboy-homemade.menu.core.arduino-core.build.core=arduino:arduino
[...]
the build.core is determined only after applying the submenu options.
Previously changing "Category" would filter libraries by the selected
category but without applying the "Type" previously selected.
For instance selecting Type="Installed" and Category="Communication"
will display *all* the libraries belonging to "communication" instead of
the installed only.
This commit fix this behavior.
The filters content is unlikely to change, so just prevent it from live
updating it because it has some side effects:
- it's slow
- it changes the selection back to the default and it's very tricky to
make it re-select the previous selection.
Fixes#10439