Skip to content

Compare: Arduino IDE 1.5: Library specification

Showing with 2 additions and 2 deletions.
  1. +2 −2 Arduino-IDE-1.5:-Library-specification.md
4 changes: 2 additions & 2 deletions Arduino-IDE-1.5:-Library-specification.md

library.properties file format

The library.properties file is a key=value properties list. Every field in this file is UTF-8 encoded. The available fields are:

  • name - the name of the library
  • name - the name of the library. Library names must contain only basic letters and numbers. (ASCII only and no spaces, and it cannot start with a number)
  • version - version of the library. Version should be semver compliant. 1.2.0 is correct; 1.2 is accepted; r5, 003, 1.1c are invalid
  • author - name/nickname of the authors and their email addresses (not mandatory) separated by comma ","
  • maintainer - name and email of the maintainer
  • sentence - a sentence explaining the purpose of the library
  • paragraph - a longer description of the library. The value of sentence always will be prepended, so you should start by writing the second sentence here
  • category - if present, one of these:
    • Display
    • Communication
    • Signal Input/Output
    • Sensors
    • Device Control
    • Timing
    • Data Storage
    • Data Processing
    • Other
  • url - the URL of the library project, for a person to visit. Can be a github or similar page as well
  • architectures - a comma separated list of architectures supported by the library. If the library doesn’t contain architecture specific code use “*” to match all architectures
  • dot_a_linkage - (available from IDE 1.6.0 / arduino-builder 1.0.0-beta13) when set to true, the library will be compiled using a .a (archive) file. First, all source files are compiled into .o files as normal. Then instead of including all .o files in the linker command directly, all .o files are saved into a .a file, which is then included in the linker command.
  • includes - (available from IDE 1.6.10) a comma separated list of files to be added to the sketch as #include <...> lines. This property is used with the "Include library" command in the IDE. If the property is undefined all the headers files (.h) on the root source folder are included.

Example:

Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ This file will allow the future *Library Manager* to search and install a librar

The library.properties file is a key=value properties list. Every field in this file is UTF-8 encoded. The available fields are:

* **name** - the name of the library
* **version** - version of the library. Version should be [semver](http://semver.org/) compliant. 1.2.0 is correct; 1.2 is accepted; r5, 003, 1.1c are invalid
* **name** - the name of the library. Library names must contain only basic letters and numbers. (ASCII only and no spaces, and it cannot start with a number)
* **version** - version of the library. Version should be [semver](http://semver.org/) compliant. 1.2.0 is correct; 1.2 is accepted; r5, 003, 1.1c are invalid
* **author** - name/nickname of the authors and their email addresses (not mandatory) separated by comma ","
* **maintainer** - name and email of the maintainer
* **sentence** - a sentence explaining the purpose of the library
Expand Down