You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Normally the Arduino IDE treats the contents of the library folder as read-only. This is to prevent users from accidentally modifying example sketches. During the library development process you may want to edit example sketches in place using the Arduino IDE. With Arduino IDE 1.6.6 and newer, the read-only behavior can be disabled by adding a file named .development to the root of the library folder. A [library.properties](libraryproperties-file-format) file must also be present. The [Library Manager indexer](https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ) will not pick up releases that contain a .development file so be sure not to push this file to your remote repository.
165
+
Normally the Arduino IDE treats the contents of the library folder as read-only. This is to prevent users from accidentally modifying example sketches. During the library development process you may want to edit example sketches in place using the Arduino IDE. With Arduino IDE 1.6.6 and newer, the read-only behavior can be disabled by adding a file named .development to the root of the library folder. A [library.properties](#libraryproperties-file-format) file must also be present. The [Library Manager indexer](https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ) will not pick up releases that contain a .development file so be sure not to push this file to your remote repository.
Copy file name to clipboardExpand all lines: docs/package_index_json-specification.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ The root of the JSON index is an array of `packages`:
57
57
58
58
The metadata fields are:
59
59
60
-
*`name`: the folder used for the installed cores. The [vendor folder](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#hardware-folders-structure) name of the installed package is determined by this field
60
+
*`name`: the folder used for the installed cores. The [vendor folder](platform-specification.md#hardware-folders-structure) name of the installed package is determined by this field
61
61
*`maintainer`: the extended name of the vendor that is displayed on the Boards Manager GUI
62
62
*`websiteURL`: the URL to the vendor's website, appears on the Boards Manager as a "More info" link
63
63
*`email`: the email of the vendor/maintainer
@@ -188,7 +188,7 @@ Finally, let's see how `PLATFORMS` are made.
188
188
189
189
Each PLATFORM describes a core for a specific architecture. The fields needed are:
190
190
*`name`: the extended name of the platform that is displayed on the Boards Manager GUI
191
-
*`architecture`: is the architecture of the plaftorm (avr, sam, etc...). It must match the architecture of the core as explained in the [3rd party cores specification](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#hardware-folders-structure)
191
+
*`architecture`: is the architecture of the plaftorm (avr, sam, etc...). It must match the architecture of the core as explained in the [Arduino platform specification](platform-specification.md#hardware-folders-structure)
192
192
*`version`: the version of the platform.
193
193
*`category`: this field is reserved, a 3rd party core must set it to `Contributed`
194
194
*`help`/`online`: is a URL that is displayed on the Boards Manager as an "Online Help" link
@@ -286,7 +286,7 @@ Note: if you miss a bracket in the JSON index, then add the URL to your Preferen
286
286
In the example there is one `PACKAGE`, My Board. The package is compatible with the AVR architecture. There are two versions of the `PACKAGE`, 1.0.0 and 1.0.1. No `TOOLS` needed to be installed so that section was left blank.
287
287
288
288
Here is the Boards Manager entry created by the example:
Copy file name to clipboardExpand all lines: docs/platform-specification.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -53,7 +53,7 @@ We can specify an OS-specific value for a property. For example the following fi
53
53
tools.bossac.cmd=bossac
54
54
tools.bossac.cmd.windows=bossac.exe
55
55
56
-
will set the property **tools.bossac.cmd** to the value **bossac** on Linux and Mac OS and **bossac.exe** on Windows. Suffixes [supported](https://github.com/arduino/Arduino/blob/1.8.10/arduino-core/src/processing/app/helpers/PreferencesMap.java#L110-L112) are `.linux`, `.windows` and `.macosx`.
56
+
will set the property **tools.bossac.cmd** to the value **bossac** on Linux and Mac OS and **bossac.exe** on Windows. Suffixes [supported](https://github.com/arduino/Arduino/blob/1.8.12/arduino-core/src/processing/app/helpers/PreferencesMap.java#L110-L112) are `.linux`, `.windows` and `.macosx`.
57
57
58
58
#### Global Predefined properties
59
59
@@ -584,4 +584,4 @@ Introduced in Arduino IDE 1.6.6. This file can be used to override properties de
584
584
585
585
## keywords.txt
586
586
587
-
As of Arduino IDE 1.6.6, per-platform keywords can be defined by adding a keywords.txt file to the platform's architecture folder. These keywords are only highlighted when one of the boards of that platform are selected. This file follows the [same format](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#keywords) as the keywords.txt used in libraries. Each keyword must be separated from the keyword identifier by a tab.
587
+
As of Arduino IDE 1.6.6, per-platform keywords can be defined by adding a keywords.txt file to the platform's architecture folder. These keywords are only highlighted when one of the boards of that platform are selected. This file follows the [same format](library-specification.md#keywords) as the keywords.txt used in libraries. Each keyword must be separated from the keyword identifier by a tab.
Copy file name to clipboardExpand all lines: docs/sketch-build-process.md
+11-11
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
The process the Arduino environment uses to build a sketch. More useful information can be found in the [Arduino IDE 1.5 3rd party Hardware specification](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification). Note that the following refers specifically to the build process for AVR targets. Other architectures will have a similar build process.
1
+
The process the Arduino environment uses to build a sketch. More useful information can be found in the [Arduino platform specification](platform-specification.md). Note that the following refers specifically to the build process for AVR targets. Other architectures will have a similar build process.
2
2
3
3
## Overview
4
4
@@ -18,12 +18,12 @@ No pre-processing is done to files in a sketch with any extension other than .in
18
18
19
19
The sketch is scanned recursively for dependencies. There are predefined include search paths:
20
20
21
-
1. Core library folder (as defined by [`{build.core}`](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#boardstxt))
22
-
1. Variant folder (as defined by [`{build.variant}`](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#boardstxt))
23
-
1. Standard system directories (e.g., [`{runtime.tools.avr-gcc.path}/avr/include`](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#tools))
21
+
1. Core library folder (as defined by [`{build.core}`](platform-specification.md#boardstxt))
22
+
1. Variant folder (as defined by [`{build.variant}`](platform-specification.md#boardstxt))
23
+
1. Standard system directories (e.g., [`{runtime.tools.avr-gcc.path}/avr/include`](platform-specification.md#tools))
24
24
1. Include search paths added to resolve prior dependencies
25
25
26
-
If the dependency is not present in any of those locations, the installed libraries are then searched (see the [**Location Priority** table](#location-priority) below for library locations). For information on the allowed library sub-folder structures see https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#source-code. `-I` options are generated for the path to each library dependency and appended to the [`includes` property](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#recipes-to-compile-source-code), to be used in [compilation recipes](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#recipes-to-compile-source-code) in platform.txt.
26
+
If the dependency is not present in any of those locations, the installed libraries are then searched (see the [**Location Priority** table](#location-priority) below for library locations). For information on the allowed library sub-folder structures see [the Arduino library specification](library-specification.md#source-code). `-I` options are generated for the path to each library dependency and appended to the [`includes` property](platform-specification.md#recipes-to-compile-source-code), to be used in [compilation recipes](platform-specification.md#recipes-to-compile-source-code) in platform.txt.
27
27
28
28
If multiple libraries contain a file that matches the `#include` directive, the priority is determined by applying the following rules, one by one in this order, until a rule determines a winner:
29
29
@@ -36,7 +36,7 @@ If multiple libraries contain a file that matches the `#include` directive, the
36
36
37
37
### Architecture Matching
38
38
39
-
A library is considered **compatible** with architecture `X` if the `architectures` field in [library.properties](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#library-metadata):
39
+
A library is considered **compatible** with architecture `X` if the `architectures` field in [library.properties](library-specification.md#library-metadata):
40
40
- explicitly contains the architecture `X`
41
41
- contains the catch-all `*`
42
42
- is not specified at all.
@@ -72,13 +72,13 @@ The folder name contains the include | `AnAwesomeServoForWhatever`
72
72
The "location priority" is determined as follows (in order of highest to lowest priority):
73
73
74
74
1. The library is in the sketchbook (`{sketchbook path}/libraries`)
75
-
1. The library is bundled with the board platform/core ([`{runtime.platform.path}/libraries`](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#global-predefined-properties))
76
-
1. The library is bundled with the [referenced](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#referencing-another-core-variant-or-tool) board platform/core
77
-
1. The library is bundled with the IDE ([`{runtime.ide.path}/libraries`](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#global-predefined-properties))
75
+
1. The library is bundled with the board platform/core ([`{runtime.platform.path}/libraries`](platform-specification.md#global-predefined-properties))
76
+
1. The library is bundled with the [referenced](platform-specification.md#referencing-another-core-variant-or-tool) board platform/core
77
+
1. The library is bundled with the IDE ([`{runtime.ide.path}/libraries`](platform-specification.md#global-predefined-properties))
78
78
79
79
## Compilation
80
80
81
-
Sketches are compiled by avr-gcc and avr-g++ according to the variables in the boards.txt file of the selected board's [platform](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification).
81
+
Sketches are compiled by avr-gcc and avr-g++ according to the variables in the boards.txt file of the selected board's [platform](platform-specification.md).
82
82
83
83
The sketch is built in a temporary directory in the system-wide temporary directory (e.g. /tmp on Linux).
84
84
@@ -95,6 +95,6 @@ If verbose output during compilation is checked in the Preferences dialog, the c
95
95
96
96
## Uploading
97
97
98
-
Sketches are uploaded by avrdude. The upload process is also controlled by variables in the boards and main preferences files. See the [Arduino IDE 1.5 3rd party Hardware specification](https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification) page for details.
98
+
Sketches are uploaded by avrdude. The upload process is also controlled by variables in the boards and main preferences files. See the [Arduino platform specification](platform-specification.md) page for details.
99
99
100
100
If verbose output during upload is checked in the Preferences dialog, debugging information will be output to the editor console, including avrdude command lines and verbose output.
0 commit comments