• per1234's avatar
    [skip changelog] Specify that `includes` field items should be in library (#1305) · b8d8a9ca
    per1234 authored
    The library.properties `includes` field specifies a custom list of files to be added to the sketch by the IDE as
    `#include` directives. Library authors sometimes add filenames from library dependencies to this field. However, that
    doesn't make any sense because all Arduino development software versions with support for the `includes` field have also
    had support for resolution of the dependencies of libraries, meaning that there is no need for these `#include`
    directives to be placed in the sketch.
    
    For this reason, Arduino Lint rule LP052 ("library.properties includes field item(s) not found in library.") was
    configured as an error when the tool is in the default "specification" compliance mode. Since the required rules in this
    mode are intended to match the official Arduino Library Specification, it is important that mention be made in the
    `includes` field that it should contain files of the library itself.
    
    Since this requirement is fairly common sense, and the format of the library.properties fields documentation somewhat
    constraining, I attempted to document it with minimal verbosity.
    b8d8a9ca
library-specification.md 18.2 KB