Library
Arduino Lint provides 77 rules for the library
project type:
invalid library (LS001
)¶
The path does not contain a valid Arduino library.
More information: here
Enabled for
superproject type: all
Category: structure
Subcategory: general
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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 |
name-header mismatch (LS008
)¶
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
Rule levels
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
Rule levels
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
Rule levels
compliance |
Level |
---|---|
permissive | WARNING |
specification | ERROR |
strict | ERROR |
incorrect extras folder name (LS011
)¶
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
Rule levels
compliance |
Level |
---|---|
permissive | WARNING |
specification | WARNING |
strict | ERROR |
extras folder name case (LS012
)¶
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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:
- official libraries
- 3rd party libraries added to the Library Manager index prior to the enactment of this rule
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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 |
missing author field (LP023
)¶
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
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
Rule levels
compliance |
Level |
---|---|
permissive | WARNING |
specification | ERROR |
strict | ERROR |