Skip to content

Commit 81294a0

Browse files
Make the configuration documentation in a table.
So that default is displayed, but on Windows and MacOS, there's a missing default and there are values that dont have a default ?
1 parent 63c44a4 commit 81294a0

File tree

1 file changed

+49
-64
lines changed

1 file changed

+49
-64
lines changed

docs/configuration.md

+49-64
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,61 @@
11
## Configuration keys
22

3-
- `board_manager`
4-
- `additional_urls` - the URLs to any additional Boards Manager package index files needed for your boards platforms.
5-
- `enable_unsafe_install` - set to `true` to allow installation of packages that do not pass the checksum test. This
6-
is considered an unsafe installation method and should be used only for development purposes.
7-
- `daemon` - options related to running Arduino CLI as a [gRPC] server.
8-
- `port` - TCP port used for gRPC client connections.
9-
- `directories` - directories used by Arduino CLI.
10-
- `data` - directory used to store Boards/Library Manager index files and Boards Manager platform installations.
11-
- `downloads` - directory used to stage downloaded archives during Boards/Library Manager installations.
12-
- `user` - the equivalent of the Arduino IDE's ["sketchbook" directory][sketchbook directory]. Library Manager
13-
installations are made to the `libraries` subdirectory of the user directory. Users can manually install 3rd party
14-
platforms in the `hardware` subdirectory of the user directory.
15-
- `builtin.libraries` - the libraries in this directory will be available to all platforms without the need for the
16-
user to install them, but with the lowest priority over other installed libraries with the same name, it's the
17-
equivalent of the Arduino IDE's bundled libraries directory.
18-
- `library` - configuration options relating to Arduino libraries.
19-
- `enable_unsafe_install` - set to `true` to enable the use of the `--git-url` and `--zip-file` flags with
20-
[`arduino-cli lib install`][arduino cli lib install]. These are considered "unsafe" installation methods because
21-
they allow installing files that have not passed through the Library Manager submission process.
22-
- `locale` - the language used by Arduino CLI to communicate to the user, the parameter is the language identifier in
23-
the standard POSIX format `<language>[_<TERRITORY>[.<encoding>]]` (for example `it` or `it_IT`, or `it_IT.UTF-8`).
24-
- `logging` - configuration options for Arduino CLI's logs.
25-
- `file` - path to the file where logs will be written.
26-
- `format` - output format for the logs. Allowed values are `text` or `json`.
27-
- `level` - messages with this level and above will be logged. Valid levels are: `trace`, `debug`, `info`, `warn`,
28-
`error`, `fatal`, `panic`.
29-
- `metrics` - settings related to the collection of data used for continued improvement of Arduino CLI.
30-
- `addr` - TCP port used for metrics communication.
31-
- `enabled` - controls the use of metrics.
32-
- `output` - settings related to text output.
33-
- `no_color` - ANSI color escape codes are added by default to the output. Set to `true` to disable colored text
34-
output.
35-
- `sketch` - configuration options relating to [Arduino sketches][sketch specification].
36-
- `always_export_binaries` - set to `true` to make [`arduino-cli compile`][arduino-cli compile] always save binaries
37-
to the sketch folder. This is the equivalent of using the [`--export-binaries`][arduino-cli compile options] flag.
38-
- `updater` - configuration options related to Arduino CLI updates
39-
- `enable_notification` - set to `false` to disable notifications of new Arduino CLI releases, defaults to `true`
40-
- `build_cache` configuration options related to the compilation cache
41-
- `path` - the path to the build cache, default is `$TMP/arduino`.
42-
- `extra_paths` - a list of paths to look for precompiled artifacts if not found on `build_cache.path` setting.
43-
- `compilations_before_purge` - interval, in number of compilations, at which the cache is purged, defaults to `10`.
44-
When `0` the cache is never purged.
45-
- `ttl` - cache expiration time of build folders. If the cache is hit by a compilation the corresponding build files
46-
lifetime is renewed. The value format must be a valid input for
47-
[time.ParseDuration()](https://pkg.go.dev/time#ParseDuration), defaults to `720h` (30 days).
48-
- `network` - configuration options related to the network connection.
49-
- `proxy` - URL of the proxy server.
50-
- `connection_timeout` - network connection timeout, the value format must be a valid input for
51-
[time.ParseDuration()](https://pkg.go.dev/time#ParseDuration), defaults to `60s` (60 seconds). `0` means it will
52-
wait indefinitely.
53-
- `cloud_api.skip_board_detection_calls` - if set to `true` it will make the Arduino CLI skip network calls to Arduino
54-
Cloud API to help detection of an unknown board.
3+
| Name | Default | Doc |
4+
|---------------|---------------|------|
5+
|`board_manager`| | |
6+
| &nbsp;&nbsp;&nbsp;.`additional_urls` | `[]` | The URLs to any additional Boards Manager package index files needed for your boards platforms.
7+
| &nbsp;&nbsp;&nbsp;.`enable_unsafe_install` | `false` | Set to `true` to allow installation of packages that do not pass the checksum test. This is considered an unsafe installation method and should be use **only for development purposes**.
8+
| `daemon` | | Options related to running Arduino CLI as a [gRPC] server. |
9+
| &nbsp;&nbsp;&nbsp;.`port` | `50051` | TCP port used for gRPC client connections. |
10+
| `directories` | | Directories used by Arduino CLI. |
11+
| &nbsp;&nbsp;&nbsp;.`data:` | [OS dependant](#default-directories) | Directory used to store Boards/Library Manager index files and Boards Manager platform installations. |
12+
| &nbsp;&nbsp;&nbsp;.`downloads:` | [OS dependant](#default-directories) | Directory used to stage downloaded archives during Boards/Library Manager installations. |
13+
| &nbsp;&nbsp;&nbsp;.`user:` | [OS dependant](#default-directories) | The equivalent of the Arduino IDE's ["sketchbook" directory][sketchbook directory]. Library Manager installations are made to the `libraries` subdirectory of the user directory. Users can manually install 3rd party platforms in the `hardware` subdirectory of the user directory. |
14+
| &nbsp;&nbsp;&nbsp;.`builtin.libraries:` | | The libraries in this directory will be available to all platforms without the need for the user to install them, but with the lowest priority over other installed libraries with the same name, it's the equivalent of the Arduino IDE's bundled libraries directory. |
15+
| `library` | | configuration options relating to Arduino libraries.|
16+
| &nbsp;&nbsp;&nbsp;.`enable_unsafe_install` | false | Set to `true` to enable the use of the `--git-url` and `--zip-file` flags with [`arduino-cli lib install`][arduino cli lib install]. These are considered "unsafe" installation methods because they allow installing files that have not passed through the Library Manager submission process. |
17+
| `locale` | No default value | The language used by Arduino CLI to communicate to the user, the parameter is the language identifier in the standard POSIX format `<language>[_<TERRITORY>[.<encoding>]]` (for example `it` or `it_IT`, or `it_IT.UTF-8`). |
18+
| `logging` | | Configuration options for Arduino CLI's logs. |
19+
| &nbsp;&nbsp;&nbsp;.`file` | No default value | Path to the file where logs will be written. |
20+
| &nbsp;&nbsp;&nbsp;.`format` | | output format for the logs. Allowed values are `text` or `json`. |
21+
| &nbsp;&nbsp;&nbsp;.`level` | | messages with this level and above will be logged. Valid levels are: `trace`, `debug`, `info`, `warn`, `error`, `fatal`, `panic`. |
22+
| `metrics` | | settings related to the collection of data used for continued improvement of Arduino CLI. |
23+
| &nbsp;&nbsp;&nbsp;.`addr` | :9090 | TCP port used for metrics communication. |
24+
| &nbsp;&nbsp;&nbsp;.`enabled` | true | controls the use of metrics. |
25+
| `output.no_color` | `false` | When `logging.format` is `text`, do not use ANSI color escape codes to the output. Set to `true` to disable colored text output. |
26+
| `sketch.always_export_binaries` | false | When set to `true`, make's [`arduino-cli compile`][arduino-cli compile] always save binaries to the sketch folder. This is the equivalent of using the [`--export-binaries`][arduino-cli compile options] flag. See [Arduino sketches][sketch specification]. |
27+
| `updater.enable_notification` | `true` | set to `false` to disable notifications of new Arduino CLI releases. |
28+
| `build_cache` | | configuration options related to the compilation cache |
29+
| &nbsp;&nbsp;&nbsp;.`path` | [OS dependant](#default-directories) | the path to the build cache, default is `$TMP/arduino`. |
30+
| &nbsp;&nbsp;&nbsp;.`extra_paths` | No default value | a list of paths to look for precompiled artifacts if not found on `build_cache.path` setting. |
31+
| &nbsp;&nbsp;&nbsp;.`compilations_before_purge` | 10 | interval, in number of compilations, at which the cache is purged, defaults to `10`. When `0` the cache is never purged. |
32+
| &nbsp;&nbsp;&nbsp;.`ttl` | `720h0m0s` | cache expiration time of build folders. If the cache is hit by a compilation the corresponding build files lifetime is renewed. The value format must be a valid input for [time.ParseDuration()](https://pkg.go.dev/time#ParseDuration), defaults to `720h` (30 days). |
33+
| `network` | | configuration options related to the network connection. |
34+
| &nbsp;&nbsp;&nbsp;.`proxy` | No default value | URL of the proxy server. |
35+
| &nbsp;&nbsp;&nbsp;.`connection_timeout` | `1m0s` | network connection timeout, the value format must be a valid input for [time.ParseDuration()](https://pkg.go.dev/time#ParseDuration), defaults to `60s` (60 seconds). `0` means it will wait indefinitely. |
36+
| &nbsp;&nbsp;&nbsp;.`cloud_api.skip_board_detection_calls` | No default value | if set to `true` it will make the Arduino CLI skip network calls to Arduino Cloud API to help detection of an unknown board. |
37+
| &nbsp;&nbsp;&nbsp;.`user_agent_ext` | No default value | |
5538

5639
### Default directories
5740

58-
The following are the default directories selected by the Arduino CLI if alternatives are not specified in the
59-
configuration file.
41+
The default directories are OS-dependent, by default:
6042

61-
- The `directories.data` default is OS-dependent:
43+
- `directories.data` is
44+
- `{HOME}/.arduino15` on Linux (and other Unix-based OS);
45+
- `{HOME}/AppData/Local/Arduino15` on Windows;
46+
- `{HOME}/Library/Arduino15` on MacOS
6247

63-
- on Linux (and other Unix-based OS) is: `{HOME}/.arduino15`
64-
- on Windows is: `{HOME}/AppData/Local/Arduino15`
65-
- on MacOS is: `{HOME}/Library/Arduino15`
48+
- If not set, the value of `directories.download` get set to `{directories.data}/staging`.
6649

67-
- The `directories.downloads` default is `{directories.data}/staging`. If the value of `{directories.data}` is changed
68-
in the configuration the user-specified value will be used.
50+
- `directories.user` is
51+
- `{HOME}/Arduino` on Linux (and other Unix-based OS);
52+
- `{DOCUMENTS}/Arduino` on Windows;
53+
- `{HOME}/Documents/Arduino` on MacOS
6954

70-
- The `directories.user` default is OS-dependent:
71-
- on Linux (and other Unix-based OS) is: `{HOME}/Arduino`
72-
- on Windows is: `{DOCUMENTS}/Arduino`
73-
- on MacOS is: `{HOME}/Documents/Arduino`
55+
- `build_cache.path` is
56+
- `{HOME}/.cache/arduino` on Linux (and other Unix-based OS);
57+
- `???` on Windows;
58+
- `???` on MacOS
7459

7560
## Configuration methods
7661

0 commit comments

Comments
 (0)