Skip to content
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

Identify managed platforms not tracked by a package index #1768

Closed
3 tasks done
per1234 opened this issue Jun 15, 2022 · 0 comments · Fixed by #2174
Closed
3 tasks done

Identify managed platforms not tracked by a package index #1768

per1234 opened this issue Jun 15, 2022 · 0 comments · Fixed by #2174
Assignees
Labels
criticality: medium Of moderate impact topic: code Related to content of the project itself type: enhancement Proposed improvement

Comments

@per1234
Copy link
Contributor

per1234 commented Jun 15, 2022

Describe the request

If an Arduino boards platform was installed via core install (as indicated by it being located under <directories.data>/packages AKA github.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 the board_manager.additional_urls configuration key:

  • Print a warning when this may be significant (e.g., core upgrade)
  • Make this information available via the gRPC interface (e.g., add an index_url field to the Platform 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 platform was installed via a different tool (Arduino IDE 1.x, Arduino IDE 2.x, and Arduino CLI all use separate preference files).
  • An ephemeral configuration mechanism (environment variable or command line flag) was used to configure the URL during the platform installation.

🙁 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

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
criticality: medium Of moderate impact topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants