Identify managed platforms not tracked by a package index #1768
Labels
criticality: medium
Of moderate impact
topic: code
Related to content of the project itself
type: enhancement
Proposed improvement
Milestone
Describe the request
If an Arduino boards platform was installed via
core install
(as indicated by it being located under<directories.data>/packages
AKAgithub.com/arduino/arduino-cli/arduino/cores/packagemanager.PackageManager.PackagesDir
), but that platform is not listed in the primary package index and additional package indexes configured via theboard_manager.additional_urls
configuration key:core upgrade
)index_url
field to thePlatform
message)🙂 The user will be aware that Boards Platform updates are will not be available due to their configuration.
Describe the current behavior
Arduino CLI's
core
commands use the Arduino Boards Manager system to provide installation and updates of Arduino boards platforms. Arduino maintains a primary package index that provides all official and partner platforms. A huge number of 3rd party platforms are also available. In order to access these, the user must add the URL to the platform's package index to their Arduino CLI configuration.After a platform is installed, it remains usable even if the additional package index URL is removed from the Arduino CLI configuration. However, the presence of this URL is required for the valuable update capability to work. Users without an in depth understanding of the fairly complex and esoteric Boards Manager system may not be aware of this and thus feel no need to maintain a list of URLs in their configuration.
There are several scenarios that would make this especially likely to occur:
🙁 The problem is not communicated to the user. They may miss out on important advancements made in later releases of the platform or else be confused when the Arduino CLI update capability does not seem to work.
Arduino CLI version
nightly-20220615 Commit: 813cfe7 Date: 2022-06-15T01:36:01Z
Operating system
All
Operating system version
N/A
Additional context
This capability will likely be of greatest value for use in Arduino IDE 2.x, whose users are less likely to understand the technical details of the Boards Manager system, and also are most likely to have missing package index URLs after migrating from Arduino IDE 1.x. However, Arduino CLI is the most appropriate place for the code that will detect this condition, so the work should start here, followed by communicating the information to the IDE user via its GUI.
Related:
Issue checklist
The text was updated successfully, but these errors were encountered: