Skip to content

Commit 4e8bd61

Browse files
authored
[skip changelog] Document library location priorities in Arduino Web Editor (#979)
Although Arduino Web Editor uses the same build system as the other Arduino development software, the cloud-based nature can make it more difficult to determine library locations. Although very convenient, Arduino Web Editor having every one of the thousands of Library Manager libraries pre-installed does result in a higher incidence of header filename collisions. This means it is especially important for Arduino Web Editor users to understand library location priorities.
1 parent 69ac12c commit 4e8bd61

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

docs/sketch-build-process.md

+21
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,27 @@ The "location priority" is determined as follows (in order of highest to lowest
114114
([`{runtime.ide.path}/libraries`](platform-specification.md#global-predefined-properties))
115115
- This location is only used by Arduino CLI when it's located in the Arduino IDE installation folder
116116

117+
#### Location priorities in Arduino Web Editor
118+
119+
The location priorities system works in the same manner in [Arduino Web Editor](https://create.arduino.cc/editor), but
120+
its cloud-based nature may make the locations of libraries less obvious.
121+
122+
1. **Custom**: the imported libraries, shown under the **Libraries > Custom** tab.
123+
- These libraries are under `/tmp/\<some number>/custom`
124+
1. **Pinned**: libraries that were [associated with the sketch](sketch-specification.md#metadata) by choosing a specific
125+
version from the library's "Include" dropdown menu.
126+
- These libraries are under `/tmp/\<some number>/pinned`
127+
- Note: clicking the "Include" button does not result in the library being pinned to the sketch.
128+
1. **[Platform bundled](platform-specification.md#platform-bundled-libraries)**: these are listed under the
129+
**Libraries > Default** tab, but with "for \<architecture name\>" appended to the library name (e.g., "SPI for AVR").
130+
- These libraries are under `/home/builder/.arduino15/packages`
131+
1. [Board platform](platform-specification.md#platform-terminology) bundled
132+
1. [Core platform](platform-specification.md#platform-terminology) bundled
133+
1. **Built-in**:
134+
- The non-platform bundled libraries listed under the **Libraries > Default** tab.
135+
- Libraries listed under **Libraries > Library Manager**.
136+
- These libraries are under `/home/builder/opt/libraries/latest`
137+
117138
## Compilation
118139

119140
Sketches are compiled by avr-gcc and avr-g++ according to the variables in the boards.txt file of the selected board's

0 commit comments

Comments
 (0)