@@ -177,17 +177,6 @@ The other fields are:
177
177
macOS you can use the command ` shasum -a 256 filename ` to generate SHA-256 checksums. There are free options for
178
178
Windows, including md5deep. There are also online utilities for generating checksums.
179
179
180
- ##### How a tool's path is determined in platform.txt
181
-
182
- When the IDE needs a tool, it downloads the corresponding archive file and unpacks the content into a private folder
183
- that can be referenced from ` platform.txt ` using one of the following properties:
184
-
185
- - ` {runtime.tools.TOOLNAME-VERSION.path} `
186
- - ` {runtime.tools.TOOLNAME.path} `
187
-
188
- For example, to obtain the avr-gcc 4.8.1 folder we can use ` {runtime.tools.avr-gcc-4.8.1-arduino5.path} ` or
189
- ` {runtime.tools.avr-gcc.path} ` .
190
-
191
180
### Platforms definitions
192
181
193
182
Finally, let's see how ` PLATFORMS ` are made.
@@ -271,6 +260,32 @@ rules Arduino IDE follows for parsing versions
271
260
Note: if you miss a bracket in the JSON index, then add the URL to your Preferences, and open Boards Manager it can
272
261
cause the Arduino IDE to no longer load until you have deleted the file from your arduino15 folder.
273
262
263
+ #### How a tool's path is determined in platform.txt
264
+
265
+ When the IDE needs a tool, it downloads the corresponding archive file and unpacks the content into a private folder
266
+ that can be referenced from ` platform.txt ` using one of the following properties:
267
+
268
+ - ` {runtime.tools.TOOLNAME-VERSION.path} `
269
+ - ` {runtime.tools.TOOLNAME.path} `
270
+
271
+ For example, to obtain the avr-gcc 4.8.1 folder we can use ` {runtime.tools.avr-gcc-4.8.1.path} ` or
272
+ ` {runtime.tools.avr-gcc.path} ` .
273
+
274
+ In general the same tool may be provided by different platforms (for example the Arduino AVR platform may provide an
275
+ ` arduino:avr-gcc ` and another 3rd party platform may provide their own ` 3rdparty:avr-gcc ` ). The rules to disambiguate
276
+ are as follows:
277
+
278
+ - The property ` {runtime.tools.TOOLNAME.path} ` points, in order of priority, to:
279
+
280
+ 1 . the tool, version and packager specified via ` toolsDependencies ` in the ` package_index.json `
281
+ 1 . the highest version of the tool provided by the packager of the current platform
282
+ 1 . the highest version of the tool provided by any other packager (in case of tie, the first packager in alphabetical
283
+ order wins)
284
+
285
+ - The property ` {runtime.tools.TOOLNAME-VERSION.path} ` points, in order of priority, to:
286
+ 1 . the tool and version provided by the packager of the current platform
287
+ 1 . the tool and version provided by any other packager (in case of tie, the first packager in alphabetical order wins)
288
+
274
289
### Example JSON index file
275
290
276
291
``` json
0 commit comments