@@ -34,6 +34,7 @@ profiles:
3434 platform_index_url: <3RD_PARTY_PLATFORM_DEPENDENCY_URL>
3535 libraries:
3636 - <INDEX_LIB_NAME> (<INDEX_LIB_VERSION>)
37+ - dependency: <INDEX_LIB_NAME> (<INDEX_LIB_VERSION>)
3738 - dir: <LOCAL_LIB_PATH>
3839 port: <PORT_NAME>
3940 port_config:
@@ -56,8 +57,14 @@ otherwise below). The available fields are:
5657 information as ` <PLATFORM> ` , ` <PLATFORM_VERSION> ` , and ` <3RD_PARTY_PLATFORM_URL> ` respectively but for the core
5758 platform dependency of the main core platform. These fields are optional.
5859- ` libraries: ` is a section where the required libraries to build the project are defined. This section is optional.
59- - ` <INDEX_LIB_NAME> (<INDEX_LIB_VERSION>) ` represents a library from the Arduino Libraries Index, for example,
60- ` MyLib (1.0.0) ` .
60+ - ` <INDEX_LIB_NAME> (<INDEX_LIB_VERSION>) ` represents a library from the Arduino Libraries Index that is a direct
61+ dependency of the sketch, for example, ` MyLib (1.0.0) ` .
62+ - ` dependency: <INDEX_LIB_NAME> (<INDEX_LIB_VERSION>) ` represents a library from the Arduino Libraries Index that is
63+ an "indirect dependency", i.e., a library that is not used directly by the sketch, but is required by other
64+ libraries used by the sketch. For example, if ` LibUsedInSketch ` requires ` UtilLib ` , this information can be recorded
65+ in the profile with the declaration ` dependency: UtilLib (1.3.4) ` . During sketch compilation, a dependency library
66+ is treated the same as a non-dependency library; the only difference is in automatic library management, where a
67+ dependency library can be installed or removed together with the library that uses it.
6168 - ` dir: <LOCAL_LIB_PATH> ` represents a library installed in the filesystem and ` <LOCAL_LIB_PATH> ` is the path to the
6269 library. The path could be absolute or relative to the sketch folder. This option is available since Arduino CLI
6370 1.3.0.
0 commit comments