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