arduino-cli icon indicating copy to clipboard operation
arduino-cli copied to clipboard

[gRPC] It should be possible to run the `core update-index` equivalent with and without the 3rd party URLs

Open kittaakos opened this issue 3 years ago • 1 comments
trafficstars

Describe the request

As described in arduino/arduino-cli#1762, the core update-index gRPC equivalent must run before initializing the core gRPC client (InitRequest) if it's the first start:

first start, and the core and lib indexes must be updated before running the init phase of the gRCP core client

This is doable, however, if there is a CLI config with an invalid 3rd URL (see https://github.com/arduino/arduino-ide/issues/1084), then the entire core update-index command will fail and makes the core gRPC client non-functional.

Error: 13 INTERNAL: Error downloading index 'https://downloads.arduino.cc/packages/package_nonexistent_index.json': Server responded with: 404 Not Found

Describe the current behavior

As a consumer of the CLI APIs, I want to run the core update-index so that it only downloads the essential package index (#directories.data/package_index.json) and the built-in tools (builtin:serial-discovery and builtin:mdns-discovery). I also want to run the core update-index when it pulls all the package indexes required for the 3rd party platforms. A boolean flag on the gRPC API would be great to achieve it!

Arduino CLI version

From the HEAD: arduino-cli Version: 0.0.0-git Commit: Date:

Operating system

macOS

Operating system version

12.3.1

Additional context

No response

Issue checklist

  • [X] I searched for previous requests in the issue tracker
  • [X] I verified the feature was still missing when using the nightly build
  • [X] My request contains all necessary details

kittaakos avatar Jul 01 '22 12:07 kittaakos

I have encountered this also in non gRPC context. arduino-cli should handle a broken package index URL by simply skipping forward

ubidefeo avatar Aug 08 '22 14:08 ubidefeo