Arduino Lint provides 77 rules for the library
project type:
LS001
)¶
The path does not contain a valid Arduino library.
More information: here
Enabled for superproject type: all
Category: structure
Subcategory: general
compliance
Level permissive ERROR specification ERROR strict ERROR folder name too long (LS002
)¶
The library root folder name exceeds the maximum length supported by the Arduino development tools. This will be problematic for people doing manual installation of the library.
More information: here
Enabled for superproject type: all
Category: structure
Subcategory: root folder
compliance
Level permissive WARNING specification ERROR strict ERROR prohibited character in folder name (LS003
)¶
The library root folder name contains prohibited characters. This will be problematic for people doing manual installation of the library.
More information: here
Enabled for superproject type: all
Category: structure
Subcategory: root folder
compliance
Level permissive WARNING specification ERROR strict ERROR submodule (LS004
)¶
A Git submodule was found under the library folder. Library Manager installations and installations of libraries downloaded via GitHub's "Download ZIP" feature will only contain an empty folder in place of the submodule.
Enabled for superproject type: library
Category: structure
Subcategory: miscellaneous
compliance
Level permissive WARNING specification WARNING strict WARNING symlink (LS005
)¶
A symlink was found under the library folder. Symlinks cause difficulties for Windows users due to restrictions on their use. The presence of a symlink blocks addition to the Arduino Library Manager index.
Enabled for superproject type: all
Category: structure
Subcategory: miscellaneous
compliance
library-manager
Level permissive submit ERROR permissive update ERROR permissive false WARNING specification submit ERROR specification update ERROR specification false WARNING strict submit ERROR strict update ERROR strict false WARNING .development file (LS006
)¶
A .development
file was found in the library root folder. Presence of this file blocks addition to the Library Manager index.
More information: here
Enabled for superproject type: all
Category: structure
Subcategory: miscellaneous
compliance
library-manager
Level permissive submit ERROR permissive update ERROR permissive false WARNING specification submit ERROR specification update ERROR specification false WARNING strict submit ERROR strict update ERROR strict false ERROR .exe file (LS007
)¶
A file with .exe
file extension was found under the library folder. Presence of this file blocks addition to the Library Manager index.
Enabled for superproject type: library
Category: structure
Subcategory: miscellaneous
compliance
library-manager
Level permissive submit ERROR permissive update ERROR permissive false disabled specification submit ERROR specification update ERROR specification false disabled strict submit ERROR strict update ERROR strict false disabled
The match between the library.properties
name
field and the filename in an #include
directive is a factor in the library's dependency resolution priority. It's recommended for the primary header filename to match the library name.
More information: here
Enabled for superproject type: all
Category: structure
Subcategory: source code
compliance
Level permissive INFO specification WARNING strict WARNING src folder case (LS009
)¶
The library's source subfolder name has incorrect case. This folder must be named exactly src
in order for the library to work on case sensitive file systems (e.g., Linux).
More information: here
Enabled for superproject type: all
Category: structure
Subcategory: source code
compliance
Level permissive ERROR specification ERROR strict ERROR recursive with utility folder (LS010
)¶
A library with "1.5 format" (recursive layout) contains a subfolder named utility
. Although the utility
folder has special treatment in libraries with the old "1.5 format" (flat layout), it is not supported in libraries of the new layout.
More information: here
Enabled for superproject type: all
Category: structure
Subcategory: source code
compliance
Level permissive WARNING specification ERROR strict ERROR
A subfolder was found under the library root with a name similar to extras
. The extras
subfolder has been designated as the location for any supplemental files for the library. The name must be spelled exactly extras
.
More information: here
Enabled for superproject type: all
Category: structure
Subcategory: extras folder
compliance
Level permissive WARNING specification WARNING strict ERROR
The library's extras subfolder name has incorrect case. The extras
subfolder has been designated as the location for any supplemental files for the library. The folder name must be spelled exactly extras
More information: here
Enabled for superproject type: all
Category: structure
Subcategory: extras folder
compliance
Level permissive WARNING specification ERROR strict ERROR missing library.properties (LP001
)¶
The library.properties
file provides metadata for Arduino libraries. Although not required for 1.0 format libraries (AKA "legacy") which are not in the Library Manager index, this metadata is useful, hence recommended.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: general
compliance
library-manager
Level permissive submit ERROR permissive update ERROR permissive false WARNING specification submit ERROR specification update ERROR specification false WARNING strict submit ERROR strict update ERROR strict false ERROR incorrect library.properties file name (LP002
)¶
A file was found under the library root with a name similar to library.properties
. The library.properties
file provides metadata for Arduino libraries. The file name must be spelled exactly library.properties
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: general
compliance
Level permissive WARNING specification WARNING strict ERROR library.properties file name case (LP003
)¶
The library's metadata file has incorrect case. This causes "1.5" format (AKA "recursive layout") libraries to not be recognized on case-sensitive file systems. The file name must be spelled exactly library.properties
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: general
compliance
Level permissive ERROR specification ERROR strict ERROR redundant library.properties (LP004
)¶
The library contains a library.properties
file in a subfolder. Only the file in the root of the library is used by the Arduino development tools for library metadata. Superfluous library.properties
files can result in confusion or unnecessary maintenance effort.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: general
compliance
Level permissive WARNING specification ERROR strict ERROR library.properties format (LP005
)¶
The library.properties
file provides metadata for Arduino libraries. This file has a specific format that must be followed in order for the library to be valid.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: general
compliance
Level permissive ERROR specification ERROR strict ERROR misspelled library.properties field (LP006
)¶
A field was found in the library.properties
metadata file with a name similar, but not matching, one of the standard fields.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: general
compliance
Level permissive WARNING specification WARNING strict ERROR missing name (LP007
)¶
The name
field is missing from the library's library.properties
metadata file.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: name field
compliance
Level permissive ERROR specification ERROR strict ERROR name < min length (LP008
)¶
The name
field in the library's library.properties
metadata file is shorter than the minimum length.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: name field
compliance
Level permissive ERROR specification ERROR strict ERROR name > max length (LP009
)¶
The name
field in the library's library.properties
metadata file is greater than the maximum length.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: name field
compliance
Level permissive ERROR specification ERROR strict ERROR name > recommended length (LP010
)¶
The name
field in the library's library.properties
metadata file is longer than the recommended length. As the unique identifier for the library, the name will be typed by the users of command line tools (e.g., arduino-cli lib install Servo
). For this reason, it is best practices to avoid unnecessary name length.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: name field
compliance
Level permissive WARNING specification WARNING strict ERROR prohibited character in name (LP011
)¶
The name
field in the library's library.properties
metadata file contains a prohibited character.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: name field
compliance
Level permissive ERROR specification ERROR strict ERROR name starts with "Arduino" (LP012
)¶
The name
field in the library's library.properties
metadata file starts with "Arduino" (case insensitive). Libraries with this name prefix are only allowed in Library Manager under one of the following conditions:
If the former, configure Arduino Lint in "official" mode. If the latter, use the --library-manager=update
flag
More information: here
Enabled for superproject type: library
Category: library.properties
Subcategory: name field
compliance
library-manager
Level permissive submit ERROR permissive update WARNING permissive false WARNING specification submit ERROR specification update WARNING specification false WARNING strict submit ERROR strict update ERROR strict false ERROR name missing official prefix (LP013
)¶
The name
field in the library's library.properties
metadata file is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix.
More information: here
Enabled for superproject type: library
Category: library.properties
Subcategory: name field
compliance
Level permissive disabled specification disabled strict disabled name contains "Arduino" (LP014
)¶
The name
field in the library's library.properties
metadata file contains "Arduino" (case insensitive). This is usually implicit, only adding unnecessary length to the name.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: name field
compliance
Level permissive WARNING specification WARNING strict ERROR name contains spaces (LP015
)¶
The name
field in the library's library.properties
metadata file contains spaces. It's recommended that the name value, installation folder, and primary header filename all match. Since spaces are not allowed in library folder or file names, this is not possible when the name contains spaces.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: name field
compliance
Level permissive WARNING specification WARNING strict ERROR name contains "library" (LP016
)¶
The name
field in the library's library.properties
metadata file contains "library" (case insensitive). This is implicit, only adding unnecessary length to the name.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: name field
compliance
Level permissive WARNING specification WARNING strict ERROR duplicate name (LP017
)¶
The name
field in the library's library.properties
metadata file is in use by a library in the Library Manager index. A library must have a unique name value in order to be accepted into the Library Manager index.
This requirement only applies to the library.properties name value. There is no requirement to change the repository or header file names.
If your library is already in the index, use the --library-manager update
flag.
More information: here
Enabled for superproject type: library
Category: library.properties
Subcategory: name field
compliance
library-manager
Level permissive submit ERROR permissive update disabled permissive false disabled specification submit ERROR specification update disabled specification false disabled strict submit ERROR strict update disabled strict false disabled not in LM index (LP018
)¶
The library name (as defined by name
field in the library.properties
metadata file) was not found in the Library Manager index, but Arduino Lint was run in the --library-manager update
mode, indicating that it was expected there.
Because the name
value is the identifier used to install the library and define dependencies, it is not allowed to change after the library has been added to the index.
More information: here
Enabled for superproject type: library
Category: library.properties
Subcategory: name field
compliance
library-manager
Level permissive submit disabled permissive update ERROR permissive false disabled specification submit disabled specification update ERROR specification false disabled strict submit disabled strict update ERROR strict false disabled missing version field (LP019
)¶
The version
field is missing from the library's library.properties
metadata file.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: version field
compliance
Level permissive ERROR specification ERROR strict ERROR invalid version (LP020
)¶
The version
field in the library's library.properties
metadata file is invalid. It must be compliant with "relaxed semver".
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: version field
compliance
Level permissive ERROR specification ERROR strict ERROR non-semver version (LP021
)¶
The version
field in the library's library.properties
metadata file is not compliant with the "semver" specification. Although not required, use of the standard semver version format is recommended.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: version field
compliance
Level permissive WARNING specification WARNING strict ERROR tag mismatch (LP022
)¶
The latest Git tag appears to be greater than the version
field in the library's library.properties
metadata file. The Library Manager indexer will reject any tag that has a library.properties
version
value equal to a previous tag in the index.
More information: here
Enabled for superproject type: library
Category: library.properties
Subcategory: version field
compliance
library-manager
Level permissive submit disabled permissive update WARNING permissive false disabled specification submit disabled specification update WARNING specification false disabled strict submit disabled strict update ERROR strict false disabled
The author
field is missing from the library's library.properties
metadata file.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: author field
compliance
Level permissive ERROR specification ERROR strict ERROR author < min length (LP024
)¶
The author
field in the library's library.properties
metadata file is shorter than the minimum length.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: author field
compliance
Level permissive ERROR specification ERROR strict ERROR missing maintainer field (LP025
)¶
The maintainer
field is missing from the library's library.properties
metadata file.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: maintainer field
compliance
Level permissive ERROR specification ERROR strict ERROR maintainer < min length (LP026
)¶
The maintainer
field in the library's library.properties
metadata file is shorter than the minimum length.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: maintainer field
compliance
Level permissive ERROR specification ERROR strict ERROR maintainer starts with "Arduino" (LP027
)¶
The maintainer
field in the library's library.properties
metadata file starts with "Arduino" (case insensitive). 3rd party libraries are not maintained by Arduino.
If the library is maintained by Arduino, configure Arduino Lint in "official" mode.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: maintainer field
compliance
Level permissive WARNING specification WARNING strict ERROR maintainer contains "Arduino" (LP057
)¶
The maintainer
field in the library's library.properties
metadata file contains "Arduino" (case insensitive). 3rd party libraries are not maintained by Arduino.
If the library is maintained by Arduino, configure Arduino Lint in "official" mode.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: maintainer field
compliance
Level permissive WARNING specification WARNING strict ERROR "email" used as alias for "maintainer" (LP028
)¶
The library's library.properties
metadata file uses the deprecated email
field instead of the standard maintainer
.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: email field
compliance
Level permissive WARNING specification ERROR strict ERROR email < min length (LP029
)¶
The email
field in the library's library.properties
metadata file is shorter than the minimum length.
Enabled for superproject type: all
Category: library.properties
Subcategory: email field
compliance
Level permissive ERROR specification ERROR strict ERROR email starts with "Arduino" (LP030
)¶
The maintainer
field in the library's library.properties
metadata file starts with "Arduino" (case insensitive). 3rd party libraries are not maintained by Arduino.
Enabled for superproject type: all
Category: library.properties
Subcategory: email field
compliance
Level permissive WARNING specification WARNING strict ERROR missing sentence field (LP031
)¶
The sentence
field is missing from the library's library.properties
metadata file.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: sentence field
compliance
Level permissive ERROR specification ERROR strict ERROR sentence < min length (LP032
)¶
The sentence
field in the library's library.properties
metadata file is shorter than the minimum length.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: sentence field
compliance
Level permissive ERROR specification ERROR strict ERROR sentence spell check (LP033
)¶
The sentence
field in the library's library.properties
metadata file contains a commonly misspelled word.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: sentence field
compliance
Level permissive WARNING specification WARNING strict WARNING missing paragraph field (LP034
)¶
The paragraph
field is missing from the library's library.properties
metadata file.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: paragraph field
compliance
Level permissive ERROR specification ERROR strict ERROR paragraph spell check (LP035
)¶
The paragraph
field in the library's library.properties
metadata file contains a commonly misspelled word.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: paragraph field
compliance
Level permissive WARNING specification WARNING strict WARNING paragraph repeats sentence (LP036
)¶
The paragraph
field in the library's library.properties
metadata file repeats the sentence
field. These are displayed together so redundancy is not needed.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: paragraph field
compliance
Level permissive WARNING specification WARNING strict ERROR missing category field (LP037
)¶
The category
field is missing from the library's library.properties
metadata file.This can cause a warning and results in the default "Uncategorized" category being used.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: category field
compliance
Level permissive WARNING specification WARNING strict ERROR invalid category value (LP038
)¶
The category
field in the library's library.properties
metadata file has an invalid value. This can cause a warning and results in the default "Uncategorized" category being used.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: category field
compliance
Level permissive WARNING specification ERROR strict ERROR "Uncategorized" category value (LP039
)¶
The category
field in the library's library.properties
metadata file is set to "Uncategorized". There is no good reason for using this non-specification compliant category value.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: category field
compliance
Level permissive WARNING specification WARNING strict ERROR missing url field (LP040
)¶
The url
field is missing from the library's library.properties
metadata file.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: url field
compliance
Level permissive ERROR specification ERROR strict ERROR url < min length (LP056
)¶
The url
field in the library's library.properties
metadata file is shorter than the minimum length.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: url field
compliance
Level permissive ERROR specification ERROR strict ERROR invalid url format (LP041
)¶
The url
field in the library's library.properties
metadata file has an invalid URL format.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: url field
compliance
Level permissive WARNING specification ERROR strict ERROR dead URL (LP042
)¶
The url
field in the library's library.properties
metadata file can not be loaded.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: url field
compliance
Level permissive WARNING specification WARNING strict ERROR missing architectures field (LP043
)¶
The architectures
field is missing from the library's library.properties
metadata file. The architecture defaults to *
, but it's better to explicitly define architectures.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: architectures field
compliance
Level permissive WARNING specification WARNING strict ERROR architectures blank (LP044
)¶
The architectures
field in the library's library.properties
metadata file is blank. This causes the library to be considered incompatible with all architectures.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: architectures field
compliance
Level permissive WARNING specification ERROR strict ERROR architecture alias (LP045
)¶
The architectures
field in the library's library.properties
metadata file contains architecture aliases.
Alternative development frameworks diverged on architecture naming. It is fine to specify those, but compatibilities with the true Arduino architectures should also be defined.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: architectures field
compliance
Level permissive WARNING specification WARNING strict ERROR architecture case (LP046
)¶
The architecture
field in the library's library.properties
metadata file contains architecture names with incorrect case. These are case sensitive (e.g., AVR
!= avr
).
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: architectures field
compliance
Level permissive WARNING specification WARNING strict ERROR invalid depends format (LP047
)¶
The depends
field in the library's library.properties
metadata file has an invalid format. This is a comma-separated list of library references.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: depends field
compliance
Level permissive ERROR specification ERROR strict ERROR depends not in index (LP048
)¶
The depends
field in the library's library.properties
metadata file contains library names not found in the Library Manager index. This field should be used to define only the dependencies available from Library Manager. Library names are case-sensitive.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: depends field
compliance
Level permissive WARNING specification WARNING strict WARNING invalid depends constraint syntax (LP058
)¶
The depends
field in the library's library.properties
metadata file uses invalid version constraint syntax.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: depends field
compliance
Level permissive ERROR specification ERROR strict ERROR invalid dot_a_linkage value (LP049
)¶
The dot_a_linkage
field in the library's library.properties
metadata file has an invalid value.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: dot_a_linkage field
compliance
Level permissive WARNING specification ERROR strict ERROR dot_a_linkage=true with "1.0" library format (LP050
)¶
The dot_a_linkage
field in the library's library.properties
metadata file has a setting incompatible with the library format in use. The dot_a_linkage
feature is only supported for "1.5 format" (recursive layout) libraries.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: dot_a_linkage field
compliance
Level permissive WARNING specification ERROR strict ERROR includes blank (LP051
)¶
The includes
field in the library's library.properties
metadata file is blank.
This caused the "Sketch > Include library" feature of previous Arduino IDE versions to add an invalid empty #include
directive to the sketch.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: includes field
compliance
Level permissive WARNING specification ERROR strict ERROR includes not in library (LP052
)¶
The includes
field in the library's library.properties
metadata file contains file names not found in the library. This should be a list of header file names that must be added to #include
directives in the sketch in order to use the library.
Library authors sometimes think this is the way to define their library's dependencies, which breaks the Arduino IDE's "Sketch > Include Library" feature for that library.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: includes field
compliance
Level permissive WARNING specification ERROR strict ERROR invalid precompiled value (LP053
)¶
The precompiled
field in the library's library.properties
metadata file has an invalid value.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: precompiled field
compliance
Level permissive WARNING specification ERROR strict ERROR precompiled with "1.0" format (LP054
)¶
The precompiled
field in the library's library.properties
metadata file has a setting incompatible with the library format in use. The precompiled
feature is only supported for the "1.5 format" (recursive layout) library format.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: precompiled field
compliance
Level permissive WARNING specification ERROR strict ERROR ldflags < min length (LP055
)¶
The ldflags
field in the library's library.properties
metadata file is shorter than the minimum length.
More information: here
Enabled for superproject type: all
Category: library.properties
Subcategory: ldflags field
compliance
Level permissive WARNING specification ERROR strict ERROR Arduino.h case (LC001
)¶
An #include
directive for a file matching the standardized Arduino core library's Arduino.h
header in all except case (e.g., #include <arduino.h>
) was found in the library's code. This causes compilation failure on case-sensitive file systems.
Enabled for superproject type: all
Category: code
Subcategory: miscellaneous
compliance
Level permissive WARNING specification WARNING strict ERROR no readme (LD001
)¶
None of the standard README file names (e.g., README.md
) were found in the library's root folder. This file provides interested parties with a convenient and standardized location to get information about the project.
More information: here
Enabled for superproject type: library
Category: documentation
Subcategory: miscellaneous
compliance
Level permissive WARNING specification WARNING strict ERROR no license file (LD002
)¶
None of the standard license file names (e.g., LICENSE.txt
) were found in the library's root folder. This file provides interested parties with a convenient and standardized location to get information about the project's licensing and is also used by GitHub for automatic license type classification.
More information: here
Enabled for superproject type: library
Category: documentation
Subcategory: miscellaneous
compliance
Level permissive WARNING specification WARNING strict ERROR stray sketch (LD003
)¶
A sketch was found outside the library's examples
and/or extras
subfolders. Example sketches must be placed in the standardized location.
More information: here
Enabled for superproject type: all
Category: documentation
Subcategory: examples
compliance
Level permissive WARNING specification ERROR strict ERROR no examples (LD004
)¶
No example sketches were found in the library. Examples demonstrating usage of the library serve as an important form of documentation for Arduino users. If the library does contain example sketches, make sure they are valid sketches and in the appropriate location.
More information: here
Enabled for superproject type: all
Category: documentation
Subcategory: examples
compliance
Level permissive WARNING specification WARNING strict WARNING incorrect examples folder name (LD005
)¶
A subfolder was found in the library with name similar to the standard examples
folder used for example sketches.
More information: here
Enabled for superproject type: all
Category: documentation
Subcategory: examples
compliance
Level permissive WARNING specification ERROR strict ERROR examples folder name case (LD006
)¶
The library's examples subfolder name has incorrect case. The folder name must be spelled exactly examples
More information: here
Enabled for superproject type: all
Category: documentation
Subcategory: examples
compliance
Level permissive WARNING specification ERROR strict ERROR
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4