Skip to content

[Skip-changelog] Improve documentation regarding ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS #2136

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
Show file tree
Hide file tree
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
8 changes: 8 additions & 0 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ variable sets the `directories.user` configuration option.
On Linux or macOS, you can use the [`export` command][export command] to set environment variables. On Windows cmd, you
can use the [`set` command][set command].

`ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS` environment variables can be a list of space-separated URLs.

#### Example

Setting an additional Boards Manager URL using the `ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS` environment variable:
Expand All @@ -84,6 +86,12 @@ Setting an additional Boards Manager URL using the `ARDUINO_BOARD_MANAGER_ADDITI
$ export ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS=https://downloads.arduino.cc/packages/package_staging_index.json
```

Setting multiple additional Boards Manager URLs using the `ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS` environment variable:

```sh
$ export ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS="https://downloads.arduino.cc/packages/package_staging_index.json https://downloads.arduino.cc/packages/package_mbed_index.json"
```

### Configuration file

[`arduino-cli config init`][arduino-cli config init] creates or updates a configuration file with the current
Expand Down
8 changes: 8 additions & 0 deletions internal/cli/config/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ package config

import (
"os"
"strings"

"github.com/arduino/arduino-cli/configuration"
"github.com/arduino/arduino-cli/internal/cli/arguments"
Expand Down Expand Up @@ -97,6 +98,13 @@ func runInitCommand(cmd *cobra.Command, args []string) {
configuration.SetDefaults(newSettings)
configuration.BindFlags(cmd, newSettings)

for _, url := range newSettings.GetStringSlice("board_manager.additional_urls") {
if strings.Contains(url, ",") {
feedback.Fatal(tr("Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n%s", url),
feedback.ErrGeneric)
}
}

if err := newSettings.WriteConfigAs(configFileAbsPath.String()); err != nil {
feedback.Fatal(tr("Cannot create config file: %v", err), feedback.ErrGeneric)
}
Expand Down