├── tests ├── testdata │ ├── ValidSketch │ │ ├── LICENSE │ │ ├── README.md │ │ └── ValidSketch.ino │ ├── compliance │ │ ├── Strict │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── Strict.ino │ │ ├── Invalid │ │ │ └── Invalid Sketch.ino │ │ ├── Permissive │ │ │ └── MismatchedFilename.ino │ │ └── Specification │ │ │ └── Specification.ino │ ├── library-manager │ │ ├── False │ │ │ └── False.h │ │ ├── Invalid │ │ │ └── .gitkeep │ │ ├── Submit │ │ │ ├── Submit.h │ │ │ └── library.properties │ │ ├── Update │ │ │ ├── Update.h │ │ │ └── library.properties │ │ └── ARDUINO_LINT_LIBRARY_MANAGER_INDEXING │ │ │ └── Servo │ │ │ ├── Servo.h │ │ │ └── library.properties │ ├── project-type │ │ ├── Library │ │ │ ├── Library.h │ │ │ └── library.properties │ │ ├── Sketch │ │ │ └── Sketch.ino │ │ └── Platform │ │ │ └── boards.txt │ ├── ARDUINO_LINT_OFFICIAL │ │ └── Arduino_Lib │ │ │ ├── src │ │ │ └── Arduino_Lib.h │ │ │ └── library.properties │ ├── InvalidSketch │ │ └── Invalid Sketch.ino │ ├── verbose │ │ └── HasWarnings │ │ │ └── HasWarnings.ino │ └── recursive │ │ └── SpecificationSketch │ │ └── SpecificationSketch.ino ├── pytest.ini └── __init__.py ├── internal ├── project │ ├── testdata │ │ ├── Library │ │ │ ├── Library.h │ │ │ └── examples │ │ │ │ └── Example │ │ │ │ └── Example.ino │ │ ├── Sketch │ │ │ └── Sketch.ino │ │ ├── Platform │ │ │ ├── boards.txt │ │ │ └── libraries │ │ │ │ └── Library │ │ │ │ ├── Library.h │ │ │ │ ├── library.properties │ │ │ │ └── examples │ │ │ │ └── Example │ │ │ │ └── Example.ino │ │ ├── Projects │ │ │ ├── Library │ │ │ │ ├── Library.h │ │ │ │ └── examples │ │ │ │ │ └── Example │ │ │ │ │ └── Example.ino │ │ │ └── Sketch │ │ │ │ └── Sketch.ino │ │ └── PackageIndex │ │ │ └── package_foo_index.json │ ├── library │ │ └── testdata │ │ │ ├── ContainsHeaderFile │ │ │ └── foo.h │ │ │ ├── ContainsNoHeaderFile │ │ │ └── foo.bar │ │ │ ├── ContainsNoMetadataFile │ │ │ └── foo.bar │ │ │ └── ContainsMetadataFile │ │ │ └── library.properties │ ├── packageindex │ │ └── testdata │ │ │ ├── HasJSON │ │ │ └── foo.json │ │ │ ├── HasNone │ │ │ └── foo.bar │ │ │ ├── HasMultiple │ │ │ ├── foo.json │ │ │ └── package_foo_index.json │ │ │ ├── HasPackageIndex │ │ │ └── package_foo_index.json │ │ │ └── HasPrimaryPackageIndex │ │ │ └── package_index.json │ ├── sketch │ │ └── testdata │ │ │ ├── HasMetadataFile │ │ │ ├── sketch.json │ │ │ └── HasMetadataFile.ino │ │ │ ├── ContainsNoMainSketchFile │ │ │ └── foo.bar │ │ │ ├── Valid │ │ │ └── Valid.ino │ │ │ └── NoMetadataFile │ │ │ └── NoMetadataFile.ino │ ├── projectdata │ │ └── testdata │ │ │ ├── platforms │ │ │ ├── missing-boards.txt │ │ │ │ └── .gitkeep │ │ │ ├── invalid-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── invalid-platform.txt │ │ │ │ ├── platform.txt │ │ │ │ └── boards.txt │ │ │ ├── valid-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── missing-platform.txt │ │ │ │ └── boards.txt │ │ │ └── valid-platform.txt │ │ │ │ └── boards.txt │ │ │ └── packageindexes │ │ │ ├── invalid-JSON │ │ │ └── package_foo_index.json │ │ │ └── invalid-package-index │ │ │ └── package_foo_index.json │ ├── platform │ │ ├── boardstxt │ │ │ └── testdata │ │ │ │ └── valid │ │ │ │ └── boards.txt │ │ └── programmerstxt │ │ │ └── testdata │ │ │ └── valid │ │ │ └── programmers.txt │ └── projecttype │ │ └── type_string.go ├── rule │ ├── rulefunction │ │ └── testdata │ │ │ ├── libraries │ │ │ ├── Exe │ │ │ │ ├── foo.exe │ │ │ │ ├── src │ │ │ │ │ └── Exe.h │ │ │ │ └── library.properties │ │ │ ├── Flat │ │ │ │ ├── Flat.h │ │ │ │ └── library.properties │ │ │ ├── Legacy │ │ │ │ └── Legacy.h │ │ │ ├── BadURL │ │ │ │ ├── src │ │ │ │ │ └── BadURL.h │ │ │ │ └── library.properties │ │ │ ├── ExamplesFile │ │ │ │ ├── examples │ │ │ │ ├── src │ │ │ │ │ └── ExamplesFolder.h │ │ │ │ └── library.properties │ │ │ ├── Indexed │ │ │ │ ├── src │ │ │ │ │ └── Indexed.h │ │ │ │ └── library.properties │ │ │ ├── DotDevelopment │ │ │ │ ├── .development │ │ │ │ ├── src │ │ │ │ │ └── DotDevelopment.h │ │ │ │ └── library.properties │ │ │ ├── EmailOnly │ │ │ │ ├── src │ │ │ │ │ └── EmailOnly.h │ │ │ │ └── library.properties │ │ │ ├── NoDepends │ │ │ │ ├── src │ │ │ │ │ └── NoDepends.h │ │ │ │ └── library.properties │ │ │ ├── NoExamples │ │ │ │ ├── src │ │ │ │ │ └── NoExamples.h │ │ │ │ └── library.properties │ │ │ ├── NotIndexed │ │ │ │ ├── src │ │ │ │ │ └── NotIndexed.h │ │ │ │ └── library.properties │ │ │ ├── Recursive │ │ │ │ ├── src │ │ │ │ │ └── Recursive.h │ │ │ │ └── library.properties │ │ │ ├── Submodule │ │ │ │ ├── src │ │ │ │ │ └── Submodule.h │ │ │ │ ├── .gitmodules │ │ │ │ └── library.properties │ │ │ ├── DependsEmpty │ │ │ │ ├── src │ │ │ │ │ └── DependsEmpty.h │ │ │ │ └── library.properties │ │ │ ├── DependsValid │ │ │ │ ├── src │ │ │ │ │ └── DependsValid.h │ │ │ │ └── library.properties │ │ │ ├── DotALinkage │ │ │ │ ├── src │ │ │ │ │ └── DotALinkage.h │ │ │ │ └── library.properties │ │ │ ├── ExtrasFolder │ │ │ │ ├── extras │ │ │ │ │ └── .gitkeep │ │ │ │ ├── src │ │ │ │ │ └── ExtrasFolder.h │ │ │ │ └── library.properties │ │ │ ├── LdflagsValid │ │ │ │ ├── src │ │ │ │ │ └── LdflagsValid.h │ │ │ │ └── library.properties │ │ │ ├── MissingFields │ │ │ │ ├── library.properties │ │ │ │ └── src │ │ │ │ │ └── MissingFields.h │ │ │ ├── Precompiled │ │ │ │ ├── src │ │ │ │ │ └── Precompiled.h │ │ │ │ └── library.properties │ │ │ ├── SketchInRoot │ │ │ │ ├── src │ │ │ │ │ └── SketchInRoot.h │ │ │ │ ├── Example.ino │ │ │ │ └── library.properties │ │ │ ├── Version1.0.0 │ │ │ │ ├── src │ │ │ │ │ └── Version1.0.0.h │ │ │ │ └── library.properties │ │ │ ├── CategoryInvalid │ │ │ │ ├── src │ │ │ │ │ └── CategoryInvalid.h │ │ │ │ └── library.properties │ │ │ ├── DependsIndexed │ │ │ │ ├── src │ │ │ │ │ └── DependsIndexed.h │ │ │ │ └── library.properties │ │ │ ├── DotALinkageFlat │ │ │ │ ├── DotALinkageFlat.h │ │ │ │ └── library.properties │ │ │ ├── ExampleFolder │ │ │ │ ├── src │ │ │ │ │ └── ExampleFolder.h │ │ │ │ ├── example │ │ │ │ │ └── Example │ │ │ │ │ │ └── Example.ino │ │ │ │ └── library.properties │ │ │ ├── ExamplesFolder │ │ │ │ ├── src │ │ │ │ │ └── ExamplesFolder.h │ │ │ │ ├── examples │ │ │ │ │ └── Example │ │ │ │ │ │ └── Example.ino │ │ │ │ └── library.properties │ │ │ ├── MissingIncludes │ │ │ │ ├── src │ │ │ │ │ └── MissingIncludes.h │ │ │ │ └── library.properties │ │ │ ├── MisspelledExtrasFolder │ │ │ │ ├── extra │ │ │ │ │ └── .gitkeep │ │ │ │ ├── src │ │ │ │ │ └── MisspelledExtrasFolder.h │ │ │ │ └── library.properties │ │ │ ├── NameGTMaxLength │ │ │ │ ├── src │ │ │ │ │ └── NameGTMaxLength.h │ │ │ │ └── library.properties │ │ │ ├── NameHasBadChars │ │ │ │ ├── src │ │ │ │ │ └── NameHasBadChars.h │ │ │ │ └── library.properties │ │ │ ├── NameHasLibrary │ │ │ │ ├── src │ │ │ │ │ └── NameHasLibrary.h │ │ │ │ └── library.properties │ │ │ ├── NameHasSpaces │ │ │ │ ├── src │ │ │ │ │ └── NameHasSpaces.h │ │ │ │ └── library.properties │ │ │ ├── NameLTMinLength │ │ │ │ ├── src │ │ │ │ │ └── NameLTMinLength.h │ │ │ │ └── library.properties │ │ │ ├── NotPrecompiled │ │ │ │ ├── src │ │ │ │ │ └── NotPrecompiled.h │ │ │ │ └── library.properties │ │ │ ├── PrecompiledFlat │ │ │ │ ├── PrecompiledFlat.h │ │ │ │ └── library.properties │ │ │ ├── UrlLTMinLength │ │ │ │ ├── src │ │ │ │ │ └── UrlLTMinLength.h │ │ │ │ └── library.properties │ │ │ ├── Arduino_Official │ │ │ │ ├── src │ │ │ │ │ └── Arduino_Official.h │ │ │ │ └── library.properties │ │ │ ├── AuthorLTMinLength │ │ │ │ ├── src │ │ │ │ │ └── AuthorLTMinLength.h │ │ │ │ └── library.properties │ │ │ ├── DependsNotIndexed │ │ │ │ ├── src │ │ │ │ │ └── DependsNotIndexed.h │ │ │ │ └── library.properties │ │ │ ├── EmailLTMinLength │ │ │ │ ├── src │ │ │ │ │ └── EmailLTMinLength.h │ │ │ │ └── library.properties │ │ │ ├── FlatWithoutHeader │ │ │ │ ├── FlatWithoutHeader.cpp │ │ │ │ └── library.properties │ │ │ ├── IncludesListSkip │ │ │ │ ├── src │ │ │ │ │ ├── IncludesListSkip1.h │ │ │ │ │ └── IncludesListSkip2.h │ │ │ │ └── library.properties │ │ │ ├── IncorrectExtrasFolderCase │ │ │ │ ├── EXTRAS │ │ │ │ │ └── .gitkeep │ │ │ │ ├── src │ │ │ │ │ └── IncorrectExtrasFolderCase.h │ │ │ │ └── library.properties │ │ │ ├── UrlFormatInvalid │ │ │ │ ├── src │ │ │ │ │ └── UrlFormatInvalid.h │ │ │ │ └── library.properties │ │ │ ├── VersionNotSemver │ │ │ │ ├── src │ │ │ │ │ └── VersionNotSemver.h │ │ │ │ └── library.properties │ │ │ ├── ArchitectureMiscased │ │ │ │ ├── src │ │ │ │ │ └── ArchitectureMiscased.h │ │ │ │ └── library.properties │ │ │ ├── DependsHasBadChars │ │ │ │ ├── src │ │ │ │ │ └── DependsHasBadChars.h │ │ │ │ └── library.properties │ │ │ ├── DotALinkageInvalid │ │ │ │ ├── src │ │ │ │ │ └── DotALinkageInvalid.h │ │ │ │ └── library.properties │ │ │ ├── EmailAndMaintainer │ │ │ │ ├── src │ │ │ │ │ └── EmailAndMaintainer.h │ │ │ │ └── library.properties │ │ │ ├── IncludesLTMinLength │ │ │ │ ├── src │ │ │ │ │ └── IncludesLTMinLength.h │ │ │ │ └── library.properties │ │ │ ├── IncorrectExamplesFolderCase │ │ │ │ ├── Examples │ │ │ │ │ └── .gitkeep │ │ │ │ ├── src │ │ │ │ │ └── IncorrectExamplesFolderCase.h │ │ │ │ └── library.properties │ │ │ ├── LdflagsLTMinLength │ │ │ │ ├── src │ │ │ │ │ └── LdflagsLTMinLength.h │ │ │ │ └── library.properties │ │ │ ├── NameContainsArduino │ │ │ │ ├── src │ │ │ │ │ └── NameContainsArduino.h │ │ │ │ └── library.properties │ │ │ ├── NameHeaderMismatch │ │ │ │ ├── src │ │ │ │ │ └── NotNameHeaderMismatch.h │ │ │ │ └── library.properties │ │ │ ├── PrecompiledInvalid │ │ │ │ ├── src │ │ │ │ │ └── PrecompiledInvalid.h │ │ │ │ └── library.properties │ │ │ ├── RecursiveWithUtilityFolder │ │ │ │ ├── utility │ │ │ │ │ └── utility.cpp │ │ │ │ ├── src │ │ │ │ │ └── RecursiveWithUtilityFolder.h │ │ │ │ └── library.properties │ │ │ ├── SentenceLTMinLength │ │ │ │ ├── src │ │ │ │ │ └── SentenceLTMinLength.h │ │ │ │ └── library.properties │ │ │ ├── VersionFormatInvalid │ │ │ │ ├── src │ │ │ │ │ └── VersionFormatInvalid.h │ │ │ │ └── library.properties │ │ │ ├── ArchitectureAliasSolo │ │ │ │ ├── src │ │ │ │ │ └── ArchitectureAliasSolo.h │ │ │ │ └── library.properties │ │ │ ├── DependsConstraintValid │ │ │ │ ├── src │ │ │ │ │ └── DependsConstraintValid.h │ │ │ │ └── library.properties │ │ │ ├── DependsFieldMisspelled │ │ │ │ ├── src │ │ │ │ │ └── DependsFieldMisspelled.h │ │ │ │ └── library.properties │ │ │ ├── EmailStartsWithArduino │ │ │ │ ├── src │ │ │ │ │ └── EmailStartsWithArduino.h │ │ │ │ └── library.properties │ │ │ ├── LdflagsFieldMisspelled │ │ │ │ ├── src │ │ │ │ │ └── LdflagsFieldMisspelled.h │ │ │ │ └── library.properties │ │ │ ├── MaintainerLTMinLength │ │ │ │ ├── src │ │ │ │ │ └── MaintainerLTMinLength.h │ │ │ │ └── library.properties │ │ │ ├── ArchitectureAliasWithTrue │ │ │ │ ├── src │ │ │ │ │ └── ArchitectureAliasWithTrue.h │ │ │ │ └── library.properties │ │ │ ├── ArchitecturesLTMinLength │ │ │ │ ├── src │ │ │ │ │ └── ArchitecturesLTMinLength.h │ │ │ │ └── library.properties │ │ │ ├── DependsConstraintInvalid │ │ │ │ ├── src │ │ │ │ │ └── DependsConstraintInvalid.h │ │ │ │ └── library.properties │ │ │ ├── IncludesFieldMisspelled │ │ │ │ ├── src │ │ │ │ │ └── IncludesFieldMisspelled.h │ │ │ │ └── library.properties │ │ │ ├── InvalidLibraryProperties │ │ │ │ ├── src │ │ │ │ │ └── InvalidLibraryProperties.h │ │ │ │ └── library.properties │ │ │ ├── MaintainerContainsArduino │ │ │ │ ├── src │ │ │ │ │ └── MaintainerContainsArduino.h │ │ │ │ └── library.properties │ │ │ ├── MisspelledExamplesFolder │ │ │ │ ├── src │ │ │ │ │ └── MisspelledExamplesFolder.h │ │ │ │ ├── example │ │ │ │ │ └── Example │ │ │ │ │ │ └── Example.ino │ │ │ │ └── library.properties │ │ │ ├── ParagraphRepeatsSentence │ │ │ │ ├── src │ │ │ │ │ └── ParagraphRepeatsSentence.h │ │ │ │ └── library.properties │ │ │ ├── VersionNotRelaxedSemver │ │ │ │ ├── src │ │ │ │ │ └── VersionNotRelaxedSemver.h │ │ │ │ └── library.properties │ │ │ ├── DependsConstraintNotIndexed │ │ │ │ ├── src │ │ │ │ │ └── DependsConstraintNotIndexed.h │ │ │ │ └── library.properties │ │ │ ├── DotALinkageFieldMisspelled │ │ │ │ ├── src │ │ │ │ │ └── DotALinkageFieldMisspelled.h │ │ │ │ └── library.properties │ │ │ ├── IncorrectSrcFolderNameCase │ │ │ │ ├── SRC │ │ │ │ │ └── IncorrectSrcFolderNameCase.h │ │ │ │ └── library.properties │ │ │ ├── MaintainerStartsWithArduino │ │ │ │ ├── src │ │ │ │ │ └── MaintainerStartsWithArduino.h │ │ │ │ └── library.properties │ │ │ ├── MisspelledLibraryProperties │ │ │ │ ├── src │ │ │ │ │ └── MisspelledLibraryProperties.h │ │ │ │ └── libraries.properties │ │ │ ├── PrecompiledFieldMisspelled │ │ │ │ ├── src │ │ │ │ │ └── PrecompiledFieldMisspelled.h │ │ │ │ └── library.properties │ │ │ ├── RedundantLibraryProperties │ │ │ │ ├── src │ │ │ │ │ ├── RedundantLibraryProperties.h │ │ │ │ │ └── library.properties │ │ │ │ └── library.properties │ │ │ ├── UncategorizedCategoryValue │ │ │ │ ├── src │ │ │ │ │ └── UncategorizedCategoryValue.h │ │ │ │ └── library.properties │ │ │ ├── IncorrectLibraryPropertiesCase │ │ │ │ ├── src │ │ │ │ │ └── IncorrectLibraryPropertiesCase.h │ │ │ │ └── Library.properties │ │ │ ├── ArchitectureMiscasedWithCorrect │ │ │ │ ├── src │ │ │ │ │ └── ArchitectureMiscasedWithCorrect.h │ │ │ │ └── library.properties │ │ │ ├── MisspelledSentenceParagraphValue │ │ │ │ ├── src │ │ │ │ │ └── MisspelledSentenceParagraphValue.h │ │ │ │ └── library.properties │ │ │ ├── Prohibited CharactersInFolderName │ │ │ │ ├── src │ │ │ │ │ └── ProhibitedCharactersInFolderName.h │ │ │ │ └── library.properties │ │ │ ├── NameIsBiggerThanRecommendedLength │ │ │ │ ├── src │ │ │ │ │ └── NameIsBiggerThanRecommendedLength.h │ │ │ │ └── library.properties │ │ │ ├── RecursiveWithoutLibraryProperties │ │ │ │ └── src │ │ │ │ │ └── RecursiveWithoutLibraryProperties.h │ │ │ ├── TestLibraryPropertiesUrlFieldDeadLink │ │ │ │ └── src │ │ │ │ │ └── TestLibraryPropertiesUrlFieldDeadLink.h │ │ │ ├── SpuriousMisspelledSentenceParagraphValue │ │ │ │ ├── src │ │ │ │ │ └── SpuriousMisspelledSentenceParagraphValue.h │ │ │ │ └── library.properties │ │ │ └── FolderNameTooLong12345678901234567890123456789012345678901234567890 │ │ │ │ ├── src │ │ │ │ └── FolderNameTooLong.h │ │ │ │ └── library.properties │ │ │ ├── general │ │ │ ├── readme │ │ │ │ └── README.md │ │ │ ├── license-file │ │ │ │ └── LICENSE │ │ │ ├── no-license-file │ │ │ │ └── .gitkeep │ │ │ ├── no-readme │ │ │ │ └── notreadme.md │ │ │ ├── Arduino.h │ │ │ │ └── foo.h │ │ │ ├── license-file-in-subfolder │ │ │ │ └── subfolder │ │ │ │ │ └── LICENSE │ │ │ ├── arduino.h-angle │ │ │ │ └── foo.h │ │ │ └── arduino.h-quote │ │ │ │ └── foo.h │ │ │ ├── packageindexes │ │ │ ├── missing │ │ │ │ └── .gitkeep │ │ │ ├── incorrect-type │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-missing │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-incorrect-type │ │ │ │ └── package_foo_index.json │ │ │ ├── invalid-JSON │ │ │ │ └── package_foo_index.json │ │ │ ├── invalid-package-index │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-help-online-missing │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-help-incorrect-type │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-email-missing │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-websiteurl-missing │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-maintainer-missing │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-platforms-missing │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-tools-missing │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-email-incorrect-type │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-name-length-lt │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-help-online-incorrect-type │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-maintainer-length-lt │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-name-incorrect-type │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-websiteurl-incorrect-type │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-help-online-invalid-format │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-maintainer-incorrect-type │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-name-is-arduino │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-websiteurl-invalid-format │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-websiteurl-invalid │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-maintainer-starts-with-arduino │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-platforms-incorrect-type │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-additional-properties │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-help-additional-properties │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-platforms-help-online-missing │ │ │ │ └── package_foo_index.json │ │ │ ├── packages-platforms-checksum-missing │ │ │ │ └── package_foo_index.json │ │ │ └── packages-platforms-help-missing │ │ │ │ └── package_foo_index.json │ │ │ ├── platforms │ │ │ ├── missing-boards.txt │ │ │ │ └── .gitkeep │ │ │ ├── no-boards-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── no-programmers-programmers.txt │ │ │ │ ├── programmers.txt │ │ │ │ └── boards.txt │ │ │ ├── properties-missing-platform.txt │ │ │ │ ├── platform.txt │ │ │ │ └── boards.txt │ │ │ ├── invalid-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── invalid-platform.txt │ │ │ │ ├── platform.txt │ │ │ │ └── boards.txt │ │ │ ├── core-reference │ │ │ │ ├── platform.txt │ │ │ │ └── boards.txt │ │ │ ├── invalid-programmers.txt │ │ │ │ ├── programmers.txt │ │ │ │ └── boards.txt │ │ │ ├── no-menus-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── missing-programmers.txt │ │ │ │ └── boards.txt │ │ │ ├── valid-programmers.txt │ │ │ │ ├── boards.txt │ │ │ │ └── programmers.txt │ │ │ ├── programmerID-name-LT-programmers.txt │ │ │ │ ├── boards.txt │ │ │ │ └── programmers.txt │ │ │ ├── programmerID-name-missing-programmers.txt │ │ │ │ ├── boards.txt │ │ │ │ └── programmers.txt │ │ │ ├── programmerID-program-tool-LT-programmers.txt │ │ │ │ ├── boards.txt │ │ │ │ └── programmers.txt │ │ │ ├── programmerID-program-tool-missing-programmers.txt │ │ │ │ ├── boards.txt │ │ │ │ └── programmers.txt │ │ │ ├── menu-menuID-valid-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── menu-menuID-LT-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── valid-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── name-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── no-tools-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── valid-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── name-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── version-invalid-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── version-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── erase-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── no-pluggable-monitors-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── no-user-defined-field-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-S-o-pattern-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-ar-pattern-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-c-o-pattern-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── user-defined-field-GT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── version-non-semver-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── bootloader-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── erase-params-quiet-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── no-pluggable-discoveries-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── program-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-S-o-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-ar-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-c-o-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-cpp-o-pattern-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-output-save_file-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-output-tmp_file-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-preproc-macros-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-size-pattern-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-size-regex-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── upload-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── bootloader-params-quiet-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-S-extra_flags-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-ar-extra_flags-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-c-extra_flags-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── erase-params-verbose-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── no-user-defined-field-secret-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── program-params-quiet-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── program-params-verbose-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-c-combine-pattern-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-cpp-o-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-output-save_file-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-output-tmp_file-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-size-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-size-regex-data-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── upload-params-quiet-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── upload-params-verbose-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── bootloader-params-verbose-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-S-extra_flags-not-empty-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-ar-extra_flags-not-empty-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-c-elf-extra_flags-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-c-elf-extra_flags-not-empty-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-c-extra_flags-not-empty-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-cpp-extra_flags-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-cpp-extra_flags-not-empty-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-warning_flags-all-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-warning_flags-more-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-warning_flags-none-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── invalid-pluggable-discovery-required-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── invalid-pluggable-monitor-required-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-c-combine-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── user-defined-field-secret-invalid-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-optimization_flags-debug-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-warning_flags-default-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── invalid-pluggable-discovery-required-n-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── pluggable-monitor-pattern-protocol-id-LT-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-S-o-pattern-no-extra-flags-support-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-ar-pattern-no-extra-flags-support-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-c-o-pattern-no-extra-flags-support-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── compiler-optimization_flags-release-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-cpp-o-pattern-no-extra-flags-support-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-preproc-macros-no-extra-flags-support-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── pluggable-discovery-discovery-id-pattern-missing-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── recipe-c-combine-pattern-no-extra-flags-support-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── valid-with-manual-installation-pluggable-monitors-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── valid-with-manual-installation-pluggable-discoveries-platform.txt │ │ │ │ └── boards.txt │ │ │ ├── boardID-debug-tool-LT-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── boardID-menu-menuID-LT-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── boardID-upload-maximum_data_size-missing-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── boardID-upload-maximum_size-missing-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── boardID-build-core-missing-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── boardID-upload-tool-missing-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── boardID-name-missing-boards.txt │ │ │ │ └── boards.txt │ │ │ ├── boardID-build-core-LT-boards.txt │ │ │ │ └── boards.txt │ │ │ └── boardID-build-board-LT-boards.txt │ │ │ │ └── boards.txt │ │ │ └── sketches │ │ │ ├── SrcSubfolder │ │ │ ├── src │ │ │ │ └── src.cpp │ │ │ └── SrcSubfolder.ino │ │ │ ├── IncorrectSrcFolderNameCase │ │ │ ├── SRC │ │ │ │ └── src.cpp │ │ │ └── IncorrectSrcFolderNameCase.ino │ │ │ ├── AllowedCharactersInFilenames │ │ │ ├── 1LeadingNumber.ino │ │ │ ├── Contains-Hyphen.ino │ │ │ ├── Contains.Dot.ino │ │ │ ├── ContainsNumber1.ino │ │ │ ├── Contains_Underscore.ino │ │ │ ├── _LeadingUnderscore.ino │ │ │ └── AllowedCharactersInFilenames.ino │ │ │ ├── Pde │ │ │ └── Pde.pde │ │ │ ├── Valid │ │ │ └── Valid.ino │ │ │ ├── CaseMismatch │ │ │ └── caseMismatch.ino │ │ │ ├── NameMismatch │ │ │ └── Mismatch.ino │ │ │ ├── ProhibitedCharactersInFileName │ │ │ ├── Prohibited CharactersInFileName.h │ │ │ └── ProhibitedCharactersInFileName.ino │ │ │ ├── NoMetadataFile │ │ │ └── NoMetadataFile.ino │ │ │ ├── FileNameTooLong │ │ │ ├── FileNameTooLong.ino │ │ │ └── FileNameTooLong12345678901234567890123456789012345678901234567890.h │ │ │ └── ValidMetadataFile │ │ │ ├── ValidMetadataFile.ino │ │ │ └── sketch.json │ ├── schema │ │ ├── testdata │ │ │ ├── input │ │ │ │ ├── invalid-schema.json │ │ │ │ ├── schema-without-id.json │ │ │ │ ├── valid-schema.json │ │ │ │ └── referenced-schema-1.json │ │ │ └── testdata.go │ │ ├── schemadata │ │ │ └── schemadata.go │ │ └── compliancelevel │ │ │ └── type_string.go │ ├── rulelevel │ │ └── type_string.go │ └── ruleresult │ │ └── type_string.go └── result │ └── outputformat │ └── type_string.go ├── docs └── img │ └── icon_mac_light.png ├── .gitattributes ├── .npmrc ├── .markdownlintignore ├── .prettierrc ├── .ecrc ├── .markdown-link-check.json ├── package.json ├── ruledocsgen ├── tests │ ├── pytest.ini │ └── __init__.py └── testdata │ └── golden │ ├── package-index.md │ └── sketch.md ├── .gitignore ├── .prettierignore ├── .flake8 ├── .codespellrc ├── .github └── ISSUE_TEMPLATE │ └── config.yml └── etc └── schemas ├── arduino-package-index-schema.json ├── arduino-package-index-permissive-schema.json └── arduino-package-index-strict-schema.json /tests/testdata/ValidSketch/LICENSE: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/ValidSketch/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Library/Library.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Sketch/Sketch.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/compliance/Strict/LICENSE: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/compliance/Strict/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Platform/boards.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/library-manager/False/False.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/library-manager/Invalid/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/library-manager/Submit/Submit.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/library-manager/Update/Update.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/project-type/Library/Library.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Projects/Library/Library.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Projects/Sketch/Sketch.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/library/testdata/ContainsHeaderFile/foo.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/packageindex/testdata/HasJSON/foo.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/packageindex/testdata/HasNone/foo.bar: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Exe/foo.exe: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Flat/Flat.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/library/testdata/ContainsNoHeaderFile/foo.bar: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/packageindex/testdata/HasMultiple/foo.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/sketch/testdata/HasMetadataFile/sketch.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Library/examples/Example/Example.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/PackageIndex/package_foo_index.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Platform/libraries/Library/Library.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/general/readme/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Exe/src/Exe.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Legacy/Legacy.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/library/testdata/ContainsNoMetadataFile/foo.bar: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/sketch/testdata/ContainsNoMainSketchFile/foo.bar: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/general/license-file/LICENSE: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/general/no-license-file/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/general/no-readme/notreadme.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/BadURL/src/BadURL.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExamplesFile/examples: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Indexed/src/Indexed.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/missing/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/ARDUINO_LINT_OFFICIAL/Arduino_Lib/src/Arduino_Lib.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/library/testdata/ContainsMetadataFile/library.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/packageindex/testdata/HasMultiple/package_foo_index.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Platform/libraries/Library/library.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Projects/Library/examples/Example/Example.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotDevelopment/.development: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/EmailOnly/src/EmailOnly.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NoDepends/src/NoDepends.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NoExamples/src/NoExamples.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NotIndexed/src/NotIndexed.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Recursive/src/Recursive.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Submodule/src/Submodule.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/missing-boards.txt/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/SrcSubfolder/src/src.cpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/packageindex/testdata/HasPackageIndex/package_foo_index.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/projectdata/testdata/platforms/missing-boards.txt/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsEmpty/src/DependsEmpty.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsValid/src/DependsValid.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotALinkage/src/DotALinkage.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExtrasFolder/extras/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExtrasFolder/src/ExtrasFolder.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/LdflagsValid/src/LdflagsValid.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MissingFields/library.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Precompiled/src/Precompiled.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/SketchInRoot/src/SketchInRoot.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Version1.0.0/src/Version1.0.0.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/no-boards-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/packageindex/testdata/HasPrimaryPackageIndex/package_index.json: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/testdata/Platform/libraries/Library/examples/Example/Example.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/CategoryInvalid/src/CategoryInvalid.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsIndexed/src/DependsIndexed.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotALinkageFlat/DotALinkageFlat.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotDevelopment/src/DotDevelopment.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExampleFolder/src/ExampleFolder.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExamplesFile/src/ExamplesFolder.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExamplesFolder/src/ExamplesFolder.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MissingFields/src/MissingFields.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MissingIncludes/src/MissingIncludes.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledExtrasFolder/extra/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameGTMaxLength/src/NameGTMaxLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameHasBadChars/src/NameHasBadChars.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameHasLibrary/src/NameHasLibrary.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameHasSpaces/src/NameHasSpaces.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameLTMinLength/src/NameLTMinLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NotPrecompiled/src/NotPrecompiled.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/PrecompiledFlat/PrecompiledFlat.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/UrlLTMinLength/src/UrlLTMinLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/IncorrectSrcFolderNameCase/SRC/src.cpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/ValidSketch/ValidSketch.ino: -------------------------------------------------------------------------------- 1 | void setup() {] 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /tests/testdata/compliance/Strict/Strict.ino: -------------------------------------------------------------------------------- 1 | void setup() {] 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /tests/testdata/library-manager/ARDUINO_LINT_LIBRARY_MANAGER_INDEXING/Servo/Servo.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/project/sketch/testdata/Valid/Valid.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/general/Arduino.h/foo.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/general/license-file-in-subfolder/subfolder/LICENSE: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Arduino_Official/src/Arduino_Official.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/AuthorLTMinLength/src/AuthorLTMinLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsNotIndexed/src/DependsNotIndexed.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/EmailLTMinLength/src/EmailLTMinLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/FlatWithoutHeader/FlatWithoutHeader.cpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncludesListSkip/src/IncludesListSkip1.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncludesListSkip/src/IncludesListSkip2.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectExtrasFolderCase/EXTRAS/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/UrlFormatInvalid/src/UrlFormatInvalid.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/VersionNotSemver/src/VersionNotSemver.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/InvalidSketch/Invalid Sketch.ino: -------------------------------------------------------------------------------- 1 | void setup() {] 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /tests/testdata/project-type/Sketch/Sketch.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/general/arduino.h-angle/foo.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/general/arduino.h-quote/foo.h: -------------------------------------------------------------------------------- 1 | #include "arduino.h" 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitectureMiscased/src/ArchitectureMiscased.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsHasBadChars/src/DependsHasBadChars.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotALinkageInvalid/src/DotALinkageInvalid.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/EmailAndMaintainer/src/EmailAndMaintainer.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncludesLTMinLength/src/IncludesLTMinLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectExamplesFolderCase/Examples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/LdflagsLTMinLength/src/LdflagsLTMinLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameContainsArduino/src/NameContainsArduino.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameHeaderMismatch/src/NotNameHeaderMismatch.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/PrecompiledInvalid/src/PrecompiledInvalid.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/RecursiveWithUtilityFolder/utility/utility.cpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/SentenceLTMinLength/src/SentenceLTMinLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/VersionFormatInvalid/src/VersionFormatInvalid.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/no-programmers-programmers.txt/programmers.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/properties-missing-platform.txt/platform.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/AllowedCharactersInFilenames/1LeadingNumber.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/AllowedCharactersInFilenames/Contains-Hyphen.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/AllowedCharactersInFilenames/Contains.Dot.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/AllowedCharactersInFilenames/ContainsNumber1.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/testdata/compliance/Invalid/Invalid Sketch.ino: -------------------------------------------------------------------------------- 1 | void setup() {] 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /tests/testdata/verbose/HasWarnings/HasWarnings.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitectureAliasSolo/src/ArchitectureAliasSolo.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsConstraintValid/src/DependsConstraintValid.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsFieldMisspelled/src/DependsFieldMisspelled.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/EmailStartsWithArduino/src/EmailStartsWithArduino.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/LdflagsFieldMisspelled/src/LdflagsFieldMisspelled.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MaintainerLTMinLength/src/MaintainerLTMinLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledExtrasFolder/src/MisspelledExtrasFolder.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/incorrect-type/package_foo_index.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/AllowedCharactersInFilenames/Contains_Underscore.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/AllowedCharactersInFilenames/_LeadingUnderscore.ino: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/Pde/Pde.pde: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /tests/testdata/compliance/Permissive/MismatchedFilename.ino: -------------------------------------------------------------------------------- 1 | void setup() {] 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /tests/testdata/compliance/Specification/Specification.ino: -------------------------------------------------------------------------------- 1 | void setup() {] 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitectureAliasWithTrue/src/ArchitectureAliasWithTrue.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitecturesLTMinLength/src/ArchitecturesLTMinLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsConstraintInvalid/src/DependsConstraintInvalid.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncludesFieldMisspelled/src/IncludesFieldMisspelled.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectExtrasFolderCase/src/IncorrectExtrasFolderCase.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/InvalidLibraryProperties/src/InvalidLibraryProperties.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MaintainerContainsArduino/src/MaintainerContainsArduino.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledExamplesFolder/src/MisspelledExamplesFolder.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ParagraphRepeatsSentence/src/ParagraphRepeatsSentence.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/VersionNotRelaxedSemver/src/VersionNotRelaxedSemver.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/Valid/Valid.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/project/sketch/testdata/HasMetadataFile/HasMetadataFile.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/project/sketch/testdata/NoMetadataFile/NoMetadataFile.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsConstraintNotIndexed/src/DependsConstraintNotIndexed.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotALinkageFieldMisspelled/src/DotALinkageFieldMisspelled.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectExamplesFolderCase/src/IncorrectExamplesFolderCase.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectSrcFolderNameCase/SRC/IncorrectSrcFolderNameCase.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MaintainerStartsWithArduino/src/MaintainerStartsWithArduino.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledLibraryProperties/src/MisspelledLibraryProperties.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/PrecompiledFieldMisspelled/src/PrecompiledFieldMisspelled.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/RecursiveWithUtilityFolder/src/RecursiveWithUtilityFolder.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/RedundantLibraryProperties/src/RedundantLibraryProperties.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/UncategorizedCategoryValue/src/UncategorizedCategoryValue.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/schema/testdata/input/invalid-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "foo": "bar" 3 | "baz": "bat" 4 | } 5 | -------------------------------------------------------------------------------- /tests/testdata/recursive/SpecificationSketch/SpecificationSketch.ino: -------------------------------------------------------------------------------- 1 | void setup() {] 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /docs/img/icon_mac_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/arduino-lint/main/docs/img/icon_mac_light.png -------------------------------------------------------------------------------- /internal/project/projectdata/testdata/platforms/invalid-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | This makes the format invalid 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectLibraryPropertiesCase/src/IncorrectLibraryPropertiesCase.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/SketchInRoot/Example.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/invalid-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | This makes the format invalid 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/invalid-platform.txt/platform.txt: -------------------------------------------------------------------------------- 1 | This makes the format invalid 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/CaseMismatch/caseMismatch.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/NameMismatch/Mismatch.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/ProhibitedCharactersInFileName/Prohibited CharactersInFileName.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/SrcSubfolder/SrcSubfolder.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/project/projectdata/testdata/platforms/invalid-platform.txt/platform.txt: -------------------------------------------------------------------------------- 1 | This makes the format invalid 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitectureMiscasedWithCorrect/src/ArchitectureMiscasedWithCorrect.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledSentenceParagraphValue/src/MisspelledSentenceParagraphValue.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Prohibited CharactersInFolderName/src/ProhibitedCharactersInFolderName.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/NoMetadataFile/NoMetadataFile.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameIsBiggerThanRecommendedLength/src/NameIsBiggerThanRecommendedLength.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/RecursiveWithoutLibraryProperties/src/RecursiveWithoutLibraryProperties.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/core-reference/platform.txt: -------------------------------------------------------------------------------- 1 | name=Arduino AVR Boards 2 | version=1.8.3 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/invalid-programmers.txt/programmers.txt: -------------------------------------------------------------------------------- 1 | This makes the format invalid 2 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/FileNameTooLong/FileNameTooLong.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/ValidMetadataFile/ValidMetadataFile.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExampleFolder/example/Example/Example.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExamplesFolder/examples/Example/Example.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/TestLibraryPropertiesUrlFieldDeadLink/src/TestLibraryPropertiesUrlFieldDeadLink.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/FileNameTooLong/FileNameTooLong12345678901234567890123456789012345678901234567890.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/SpuriousMisspelledSentenceParagraphValue/src/SpuriousMisspelledSentenceParagraphValue.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-incorrect-type/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": "foo" 3 | } 4 | -------------------------------------------------------------------------------- /internal/rule/schema/schemadata/schemadata.go: -------------------------------------------------------------------------------- 1 | // Package schemadata contains the encoded JSON schemas. 2 | package schemadata 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/FolderNameTooLong12345678901234567890123456789012345678901234567890/src/FolderNameTooLong.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledExamplesFolder/example/Example/Example.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/IncorrectSrcFolderNameCase/IncorrectSrcFolderNameCase.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Submodule/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "foo"] 2 | path = foo 3 | url = https://example.com/foo.git 4 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/AllowedCharactersInFilenames/AllowedCharactersInFilenames.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/ProhibitedCharactersInFileName/ProhibitedCharactersInFileName.ino: -------------------------------------------------------------------------------- 1 | void setup() {} 2 | void loop() {} 3 | -------------------------------------------------------------------------------- /internal/rule/schema/testdata/testdata.go: -------------------------------------------------------------------------------- 1 | // Package testdata contains the encoded JSON schemas for the tests of the schema package. 2 | package testdata 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # See: https://git-scm.com/docs/gitattributes 2 | 3 | # Disable Git converting line endings in files (i.e., core.autocrlf=false). 4 | * -text 5 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/sketches/ValidMetadataFile/sketch.json: -------------------------------------------------------------------------------- 1 | { 2 | "cpu": { 3 | "fqbn": "arduino:avr:uno", 4 | "port": "" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/invalid-JSON/package_foo_index.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "foo": "bar" 4 | }, 5 | { 6 | "baz": "bat" 7 | } 8 | -------------------------------------------------------------------------------- /internal/project/projectdata/testdata/packageindexes/invalid-JSON/package_foo_index.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "foo": "bar" 4 | }, 5 | { 6 | "baz": "bat" 7 | } 8 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/invalid-package-index/package_foo_index.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "foo": "bar" 4 | }, 5 | { 6 | "baz": "bat" 7 | } 8 | ] 9 | -------------------------------------------------------------------------------- /internal/project/projectdata/testdata/packageindexes/invalid-package-index/package_foo_index.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "foo": "bar" 4 | }, 5 | { 6 | "baz": "bat" 7 | } 8 | ] 9 | -------------------------------------------------------------------------------- /internal/rule/schema/testdata/input/schema-without-id.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "title": "Schema without $id keyword for use in unit tests" 4 | } 5 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/npm/.npmrc 2 | # See: https://docs.npmjs.com/cli/configuring-npm/npmrc 3 | 4 | engine-strict=true 5 | -------------------------------------------------------------------------------- /internal/project/platform/boardstxt/testdata/valid/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=AVR_UNO 3 | uno.build.core=arduino 4 | uno.upload.tool=avrdude 5 | uno.upload.maximum_size=123 6 | uno.upload.maximum_data_size=123 7 | -------------------------------------------------------------------------------- /tests/testdata/project-type/Platform/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | 6 | uno.upload.tool=avrdude 7 | uno.upload.maximum_size=32256 8 | uno.upload.maximum_data_size=2048 9 | -------------------------------------------------------------------------------- /internal/project/platform/programmerstxt/testdata/valid/programmers.txt: -------------------------------------------------------------------------------- 1 | usbasp.name=USBasp 2 | usbasp.program.tool=avrdude 3 | usbasp.program.extra_params=-Pusb 4 | 5 | arduinoasisp.name=Arduino as ISP 6 | arduinoasisp.program.tool=avrdude 7 | -------------------------------------------------------------------------------- /.markdownlintignore: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-markdown/.markdownlintignore 2 | /.licenses/ 3 | /docs/commands/*.md 4 | /docs/rules/ 5 | /site/ 6 | __pycache__/ 7 | node_modules/ 8 | -------------------------------------------------------------------------------- /internal/project/projectdata/testdata/platforms/valid-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | 6 | uno.upload.tool=avrdude 7 | uno.upload.maximum_size=32256 8 | uno.upload.maximum_data_size=2048 9 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["prettier-plugin-toml"], 3 | "semi": false, 4 | "printWidth": 120, 5 | "overrides": [ 6 | { 7 | "files": "*.md", 8 | "options": { 9 | "proseWrap": "always" 10 | } 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /internal/project/projectdata/testdata/platforms/invalid-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | 6 | uno.upload.tool=avrdude 7 | uno.upload.maximum_size=32256 8 | uno.upload.maximum_data_size=2048 9 | -------------------------------------------------------------------------------- /internal/project/projectdata/testdata/platforms/missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | 6 | uno.upload.tool=avrdude 7 | uno.upload.maximum_size=32256 8 | uno.upload.maximum_data_size=2048 9 | -------------------------------------------------------------------------------- /internal/project/projectdata/testdata/platforms/valid-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | 6 | uno.upload.tool=avrdude 7 | uno.upload.maximum_size=32256 8 | uno.upload.maximum_data_size=2048 9 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/no-menus-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=UNO 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | uno.upload.tool=avrdude 6 | uno.upload.maximum_size=32256 7 | uno.upload.maximum_data_size=2048 8 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/invalid-programmers.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=UNO 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | uno.upload.tool=avrdude 6 | uno.upload.maximum_size=32256 7 | uno.upload.maximum_data_size=2048 8 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/missing-programmers.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=UNO 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | uno.upload.tool=avrdude 6 | uno.upload.maximum_size=32256 7 | uno.upload.maximum_data_size=2048 8 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/valid-programmers.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=UNO 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | uno.upload.tool=avrdude 6 | uno.upload.maximum_size=32256 7 | uno.upload.maximum_data_size=2048 8 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/no-programmers-programmers.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=UNO 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | uno.upload.tool=avrdude 6 | uno.upload.maximum_size=32256 7 | uno.upload.maximum_data_size=2048 8 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/programmerID-name-LT-programmers.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=UNO 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | uno.upload.tool=avrdude 6 | uno.upload.maximum_size=32256 7 | uno.upload.maximum_data_size=2048 8 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/programmerID-name-missing-programmers.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=UNO 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | uno.upload.tool=avrdude 6 | uno.upload.maximum_size=32256 7 | uno.upload.maximum_data_size=2048 8 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/programmerID-program-tool-LT-programmers.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=UNO 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | uno.upload.tool=avrdude 6 | uno.upload.maximum_size=32256 7 | uno.upload.maximum_data_size=2048 8 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/programmerID-program-tool-missing-programmers.txt/boards.txt: -------------------------------------------------------------------------------- 1 | uno.name=Arduino Uno 2 | uno.build.board=UNO 3 | uno.build.core=arduino 4 | uno.build.variant=standard 5 | uno.upload.tool=avrdude 6 | uno.upload.maximum_size=32256 7 | uno.upload.maximum_data_size=2048 8 | -------------------------------------------------------------------------------- /.ecrc: -------------------------------------------------------------------------------- 1 | { 2 | "Exclude": [ 3 | "^\\.git[/\\\\]", 4 | "__pycache__[/\\\\]", 5 | "^LICENSE\\.txt$", 6 | "node_modules[/\\\\]", 7 | "^poetry\\.lock$", 8 | "^\\.licenses[/\\\\]", 9 | "^internal/rule/schema/schemadata/bindata.go$", 10 | "^internal/rule/schema/testdata/bindata.go$" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /.markdown-link-check.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpHeaders": [ 3 | { 4 | "urls": ["https://docs.github.com/"], 5 | "headers": { 6 | "Accept-Encoding": "gzip, deflate, br" 7 | } 8 | } 9 | ], 10 | "retryOn429": true, 11 | "timeout": "30s", 12 | "retryCount": 3, 13 | "aliveStatusCodes": [200, 206] 14 | } 15 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/menu-menuID-valid-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | menu.foo=asdf 2 | menu.bar=zxcv 3 | 4 | uno.name=Arduino Uno 5 | uno.build.board=UNO 6 | uno.build.core=arduino 7 | uno.build.variant=standard 8 | uno.upload.tool=avrdude 9 | uno.upload.maximum_size=32256 10 | uno.upload.maximum_data_size=2048 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/menu-menuID-LT-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | menu.foo= 2 | menu.bar=asdf 3 | menu.baz= 4 | 5 | uno.name=Arduino Uno 6 | uno.build.board=UNO 7 | uno.build.core=arduino 8 | uno.build.variant=standard 9 | uno.upload.tool=avrdude 10 | uno.upload.maximum_size=32256 11 | uno.upload.maximum_data_size=2048 12 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/programmerID-program-tool-missing-programmers.txt/programmers.txt: -------------------------------------------------------------------------------- 1 | foo.name=Foo 2 | 3 | usbasp.name=USBasp 4 | usbasp.communication=usb 5 | usbasp.protocol=usbasp 6 | usbasp.program.protocol=usbasp 7 | usbasp.program.tool=avrdude 8 | usbasp.program.extra_params=-Pusb 9 | 10 | bar.name=Bar 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/programmerID-name-missing-programmers.txt/programmers.txt: -------------------------------------------------------------------------------- 1 | foo.program.tool=avrdude 2 | 3 | usbasp.name=USBasp 4 | usbasp.communication=usb 5 | usbasp.protocol=usbasp 6 | usbasp.program.protocol=usbasp 7 | usbasp.program.tool=avrdude 8 | usbasp.program.extra_params=-Pusb 9 | 10 | bar.program.tool=bartool 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/valid-programmers.txt/programmers.txt: -------------------------------------------------------------------------------- 1 | foo.name=Foo 2 | foo.program.tool=avrdude 3 | 4 | usbasp.name=USBasp 5 | usbasp.communication=usb 6 | usbasp.protocol=usbasp 7 | usbasp.program.protocol=usbasp 8 | usbasp.program.tool=avrdude 9 | usbasp.program.extra_params=-Pusb 10 | 11 | bar.name=Bar 12 | bar.program.tool=bartool 13 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/programmerID-name-LT-programmers.txt/programmers.txt: -------------------------------------------------------------------------------- 1 | foo.name= 2 | foo.program.tool=avrdude 3 | 4 | usbasp.name=USBasp 5 | usbasp.communication=usb 6 | usbasp.protocol=usbasp 7 | usbasp.program.protocol=usbasp 8 | usbasp.program.tool=avrdude 9 | usbasp.program.extra_params=-Pusb 10 | 11 | bar.name= 12 | bar.program.tool=bartool 13 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/programmerID-program-tool-LT-programmers.txt/programmers.txt: -------------------------------------------------------------------------------- 1 | foo.name=Foo 2 | foo.program.tool= 3 | 4 | usbasp.name=USBasp 5 | usbasp.communication=usb 6 | usbasp.protocol=usbasp 7 | usbasp.program.protocol=usbasp 8 | usbasp.program.tool=avrdude 9 | usbasp.program.extra_params=-Pusb 10 | 11 | bar.name=Bar 12 | bar.program.tool= 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "ajv-cli": "5.0.0", 4 | "ajv-formats": "3.0.1", 5 | "github-label-sync": "3.0.0", 6 | "markdown-link-check": "3.14.2", 7 | "markdownlint-cli": "0.47.0", 8 | "prettier": "3.7.4", 9 | "prettier-plugin-toml": "2.0.6" 10 | }, 11 | "engines": { 12 | "node": "20.x" 13 | }, 14 | "type": "module" 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/AuthorLTMinLength/library.properties: -------------------------------------------------------------------------------- 1 | name=AuthorLTMinLength 2 | version=1.0.0 3 | author= 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-help-online-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": {}, 9 | "platforms": [], 10 | "tools": [] 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-help-incorrect-type/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": "foo", 9 | "platforms": [], 10 | "tools": [] 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-email-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "help": { 8 | "online": "http://example.com" 9 | }, 10 | "platforms": [], 11 | "tools": [] 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-websiteurl-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "email": "jane@example.com", 7 | "help": { 8 | "online": "http://example.com" 9 | }, 10 | "platforms": [], 11 | "tools": [] 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-maintainer-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "websiteURL": "http://example.com", 6 | "email": "jane@example.com", 7 | "help": { 8 | "online": "http://example.com" 9 | }, 10 | "platforms": [], 11 | "tools": [] 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /internal/rule/schema/testdata/input/valid-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://raw.githubusercontent.com/arduino/arduino-lint/main/internal/rule/schema/testdata/input/valid-schema.json", 4 | "title": "Schema for use in unit tests", 5 | "type": "object", 6 | "properties": { 7 | "property1": { 8 | "minLength": 2 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/EmailLTMinLength/library.properties: -------------------------------------------------------------------------------- 1 | name=EmailLTMinLength 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | email= 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/SentenceLTMinLength/library.properties: -------------------------------------------------------------------------------- 1 | name=SentenceLTMinLength 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence= 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-platforms-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "tools": [] 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-tools-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [] 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tests/pytest.ini: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-python/pytest.ini 2 | [pytest] 3 | filterwarnings = 4 | error 5 | ignore::DeprecationWarning 6 | ignore::ResourceWarning 7 | 8 | # --capture=no - disable per-test capture 9 | # --tb=long sets the length of the traceback in case of failures 10 | addopts = --capture=no --tb=long --verbose 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Exe/library.properties: -------------------------------------------------------------------------------- 1 | name=Exe 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MaintainerLTMinLength/library.properties: -------------------------------------------------------------------------------- 1 | name=MaintainerLTMinLength 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer= 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledSentenceParagraphValue/library.properties: -------------------------------------------------------------------------------- 1 | name=MisspelledSentenceParagraphValue 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=grill brocoli now 6 | paragraph=There is a zeebra 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-email-incorrect-type/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": 42, 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-name-length-lt/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /ruledocsgen/tests/pytest.ini: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-python/pytest.ini 2 | [pytest] 3 | filterwarnings = 4 | error 5 | ignore::DeprecationWarning 6 | ignore::ResourceWarning 7 | 8 | # --capture=no - disable per-test capture 9 | # --tb=long sets the length of the traceback in case of failures 10 | addopts = --capture=no --tb=long --verbose 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/BadURL/library.properties: -------------------------------------------------------------------------------- 1 | name=BadURL 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://invalid/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Flat/library.properties: -------------------------------------------------------------------------------- 1 | name=Flat 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Indexed/library.properties: -------------------------------------------------------------------------------- 1 | name=Servo 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-help-online-incorrect-type/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": 42 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-maintainer-length-lt/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-name-incorrect-type/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": 42, 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-websiteurl-incorrect-type/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": 42, 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /tests/testdata/ARDUINO_LINT_OFFICIAL/Arduino_Lib/library.properties: -------------------------------------------------------------------------------- 1 | name=Arduino_Lib 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a Webserver a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /tests/testdata/library-manager/Submit/library.properties: -------------------------------------------------------------------------------- 1 | name=SomeUniqueLibraryName 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a Webserver a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /tests/testdata/project-type/Library/library.properties: -------------------------------------------------------------------------------- 1 | name=SomeUniqueLibraryName 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a Webserver a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/EmailOnly/library.properties: -------------------------------------------------------------------------------- 1 | name=EmailOnly 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | email=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameLTMinLength/library.properties: -------------------------------------------------------------------------------- 1 | name= 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-help-online-invalid-format/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "foo" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-maintainer-incorrect-type/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": 42, 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-name-is-arduino/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "arduino", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-websiteurl-invalid-format/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "foo", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/CategoryInvalid/library.properties: -------------------------------------------------------------------------------- 1 | name=CategoryInvalid 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=foo 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NoDepends/library.properties: -------------------------------------------------------------------------------- 1 | name=NoDepends 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NoExamples/library.properties: -------------------------------------------------------------------------------- 1 | name=NoExamples 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NotIndexed/library.properties: -------------------------------------------------------------------------------- 1 | name=NotIndexed 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Submodule/library.properties: -------------------------------------------------------------------------------- 1 | name=Submodule 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExampleFolder/library.properties: -------------------------------------------------------------------------------- 1 | name=ExampleFolder 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExamplesFile/library.properties: -------------------------------------------------------------------------------- 1 | name=ExamplesFolder 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExtrasFolder/library.properties: -------------------------------------------------------------------------------- 1 | name=ExtrasFolder 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/SketchInRoot/library.properties: -------------------------------------------------------------------------------- 1 | name=SketchInRoot 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/UrlFormatInvalid/library.properties: -------------------------------------------------------------------------------- 1 | name=UrlFormatInvalid 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=example.com 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Version1.0.0/library.properties: -------------------------------------------------------------------------------- 1 | name=Version1.0.0 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-websiteurl-invalid/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "invalid", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com/forum/myboard" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Arduino_Official/library.properties: -------------------------------------------------------------------------------- 1 | name=Arduino_Official 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotDevelopment/library.properties: -------------------------------------------------------------------------------- 1 | name=DotDevelopment 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ExamplesFolder/library.properties: -------------------------------------------------------------------------------- 1 | name=ExamplesFolder 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameHasBadChars/library.properties: -------------------------------------------------------------------------------- 1 | name=-NameHasBadChars 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameHasLibrary/library.properties: -------------------------------------------------------------------------------- 1 | name=NameHasLibrary 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameHasSpaces/library.properties: -------------------------------------------------------------------------------- 1 | name=Name Has Spaces 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/VersionNotSemver/library.properties: -------------------------------------------------------------------------------- 1 | name=VersionNotSemver 2 | version=1.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-maintainer-starts-with-arduino/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Arduino Fan", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-platforms-incorrect-type/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": "foo", 12 | "tools": [] 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/FlatWithoutHeader/library.properties: -------------------------------------------------------------------------------- 1 | name=FlatWithoutHeader 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameHeaderMismatch/library.properties: -------------------------------------------------------------------------------- 1 | name=NameHeaderMismatch 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsEmpty/library.properties: -------------------------------------------------------------------------------- 1 | name=DependsEmpty 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | depends= 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/LdflagsValid/library.properties: -------------------------------------------------------------------------------- 1 | name=LdflagsValid 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | ldflags=-lm 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameContainsArduino/library.properties: -------------------------------------------------------------------------------- 1 | name=NameContainsArduino 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/UrlLTMinLength/library.properties: -------------------------------------------------------------------------------- 1 | name=UrlLTMinLength 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url= 9 | architectures=avr 10 | includes=UrlLTMinLength.h 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/VersionFormatInvalid/library.properties: -------------------------------------------------------------------------------- 1 | name=VersionFormatInvalid 2 | version=foo 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitecturesLTMinLength/library.properties: -------------------------------------------------------------------------------- 1 | name=ArchitecturesLTMinLength 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures= 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotALinkage/library.properties: -------------------------------------------------------------------------------- 1 | name=DotALinkage 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | dot_a_linkage=true 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/EmailStartsWithArduino/library.properties: -------------------------------------------------------------------------------- 1 | name=EmailStartsWithArduino 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | email=Arduino Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledExtrasFolder/library.properties: -------------------------------------------------------------------------------- 1 | name=MisspelledExtrasFolder 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Recursive/library.properties: -------------------------------------------------------------------------------- 1 | name=Recursive 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | includes=Recursive.h 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/VersionNotRelaxedSemver/library.properties: -------------------------------------------------------------------------------- 1 | name=VersionNotRelaxedSemver 2 | version=v1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitectureMiscased/library.properties: -------------------------------------------------------------------------------- 1 | name=ArchitectureMiscased 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=AVR, samd, foo 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectExtrasFolderCase/library.properties: -------------------------------------------------------------------------------- 1 | name=IncorrectExtrasFolderCase 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectSrcFolderNameCase/library.properties: -------------------------------------------------------------------------------- 1 | name=IncorrectSrcFolderNameCase 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/LdflagsLTMinLength/library.properties: -------------------------------------------------------------------------------- 1 | name=LdflagsLTMinLength 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | ldflags=-l 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledExamplesFolder/library.properties: -------------------------------------------------------------------------------- 1 | name=MisspelledExamplesFolder 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/PrecompiledFlat/library.properties: -------------------------------------------------------------------------------- 1 | name=PrecompiledFlat 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | precompiled=true 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/RecursiveWithUtilityFolder/library.properties: -------------------------------------------------------------------------------- 1 | name=RecursiveWithUtilityFolder 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/RedundantLibraryProperties/library.properties: -------------------------------------------------------------------------------- 1 | name=RedundantLibraryProperties 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/UncategorizedCategoryValue/library.properties: -------------------------------------------------------------------------------- 1 | name=UncategorizedCategoryValue 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Uncategorized 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-additional-properties/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [], 12 | "tools": [], 13 | "foo": "bar" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitectureAliasSolo/library.properties: -------------------------------------------------------------------------------- 1 | name=ArchitectureAliasSolo 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=atmelavr, samd 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsHasBadChars/library.properties: -------------------------------------------------------------------------------- 1 | name=DependsHasBadChars 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | depends=-foo 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotALinkageFlat/library.properties: -------------------------------------------------------------------------------- 1 | name=DotALinkageFlat 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | dot_a_linkage=true 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncludesLTMinLength/library.properties: -------------------------------------------------------------------------------- 1 | name=IncludesLTMinLength 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | includes= 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectExamplesFolderCase/library.properties: -------------------------------------------------------------------------------- 1 | name=IncorrectExamplesFolderCase 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MisspelledLibraryProperties/libraries.properties: -------------------------------------------------------------------------------- 1 | name=MisspelledLibraryProperties 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NotPrecompiled/library.properties: -------------------------------------------------------------------------------- 1 | name=NotPrecompiled 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | includes=Recursive.h 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/PrecompiledInvalid/library.properties: -------------------------------------------------------------------------------- 1 | name=PrecompiledInvalid 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | precompiled=foo 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/RedundantLibraryProperties/src/library.properties: -------------------------------------------------------------------------------- 1 | name=RedundantLibraryProperties 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-help-additional-properties/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com", 10 | "foo": "bar" 11 | }, 12 | "platforms": [], 13 | "tools": [] 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsFieldMisspelled/library.properties: -------------------------------------------------------------------------------- 1 | name=DependsFieldMisspelled 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | depend=Servo 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsNotIndexed/library.properties: -------------------------------------------------------------------------------- 1 | name=DependsNotIndexed 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | depends=NotIndexed 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotALinkageInvalid/library.properties: -------------------------------------------------------------------------------- 1 | name=DotALinkageInvalid 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | dot_a_linkage=foo 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncorrectLibraryPropertiesCase/Library.properties: -------------------------------------------------------------------------------- 1 | name=IncorrectLibraryPropertiesCase 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/LdflagsFieldMisspelled/library.properties: -------------------------------------------------------------------------------- 1 | name=LdflagsFieldMisspelled 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | ld_flags=-lm 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MaintainerStartsWithArduino/library.properties: -------------------------------------------------------------------------------- 1 | name=MaintainerStartsWithArduino 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Arduino Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Build artifacts 2 | /arduino-lint 3 | arduino-lint.exe 4 | __pycache__/ 5 | 6 | # Generated files 7 | node_modules/ 8 | 9 | # Test artifacts 10 | coverage_unit.txt 11 | 12 | # IDEs 13 | .idea/ 14 | .vscode/ 15 | *.bak 16 | *.code-workspace 17 | *.sublime-workspace 18 | 19 | # MkDocs 20 | /site/ 21 | /docsgen/arduino-cli 22 | /docsgen/arduino-cli.exe 23 | /docs/commands/*.md 24 | /ruledocsgen/ruledocsgen 25 | /ruledocsgen/ruledocsgen.exe 26 | /docs/rules/ 27 | 28 | /dist 29 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitectureAliasWithTrue/library.properties: -------------------------------------------------------------------------------- 1 | name=ArchitectureAliasWithTrue 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr, atmelavr, samd 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameIsBiggerThanRecommendedLength/library.properties: -------------------------------------------------------------------------------- 1 | name=NameIsBiggerThanRecommendedLength 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Prohibited CharactersInFolderName/library.properties: -------------------------------------------------------------------------------- 1 | name=Prohibited CharactersInFolderName 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/schema/testdata/input/referenced-schema-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://raw.githubusercontent.com/arduino/arduino-lint/main/internal/rule/schema/testdata/input/referenced-schema-1.json", 4 | "title": "Schema for use in unit tests", 5 | "definitions": { 6 | "patternObject": { 7 | "pattern": "^[a-z]+$" 8 | }, 9 | "requiredObject": { 10 | "required": ["property1"] 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/Precompiled/library.properties: -------------------------------------------------------------------------------- 1 | name=Precompiled 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | includes=Recursive.h 11 | precompiled=true 12 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DotALinkageFieldMisspelled/library.properties: -------------------------------------------------------------------------------- 1 | name=DotALinkageFieldMisspelled 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | dot_a_linkages=true 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MissingIncludes/library.properties: -------------------------------------------------------------------------------- 1 | name=MissingIncludes 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | includes=Nonexistent.h,MissingIncludes.h 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/PrecompiledFieldMisspelled/library.properties: -------------------------------------------------------------------------------- 1 | name=PrecompiledFieldMisspelled 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | precompile=true 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ArchitectureMiscasedWithCorrect/library.properties: -------------------------------------------------------------------------------- 1 | name=ArchitectureMiscasedWithCorrect 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=AVR, samd, avr, foo 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/EmailAndMaintainer/library.properties: -------------------------------------------------------------------------------- 1 | name=EmailAndMaintainer 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | email=Cristian Maglie 6 | sentence=A library that makes coding a web server a breeze. 7 | paragraph=Supports HTTP1.1 and you can do GET and POST. 8 | category=Communication 9 | url=http://example.com/ 10 | architectures=avr 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/FolderNameTooLong12345678901234567890123456789012345678901234567890/library.properties: -------------------------------------------------------------------------------- 1 | name=FolderNameTooLong 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncludesFieldMisspelled/library.properties: -------------------------------------------------------------------------------- 1 | name=IncludesFieldMisspelled 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | include=IncludesFieldMisspelled.h 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/IncludesListSkip/library.properties: -------------------------------------------------------------------------------- 1 | name=IncludesListSkip 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | includes=IncludesListSkip1.h,,IncludesListSkip2.h 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/InvalidLibraryProperties/library.properties: -------------------------------------------------------------------------------- 1 | This makes the format invalid 2 | name=InvalidLibraryProperties 3 | version=1.0.0 4 | author=Cristian Maglie , Pippo Pluto 5 | maintainer=Cristian Maglie 6 | sentence=A library that makes coding a web server a breeze. 7 | paragraph=Supports HTTP1.1 and you can do GET and POST. 8 | category=Communication 9 | url=http://example.com/ 10 | architectures=avr 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/NameGTMaxLength/library.properties: -------------------------------------------------------------------------------- 1 | name=NameGTMaxLength012345678901234567890123456789012345678901234567890123456789 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/MaintainerContainsArduino/library.properties: -------------------------------------------------------------------------------- 1 | name=MaintainerContainsArduino 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian "Arduino Wizard" Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | includes=Recursive.h 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/ParagraphRepeatsSentence/library.properties: -------------------------------------------------------------------------------- 1 | name=ParagraphRepeatsSentence 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=A library that makes coding a web server a breeze. Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsConstraintNotIndexed/library.properties: -------------------------------------------------------------------------------- 1 | name=DependsConstraintNotIndexed 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | depends=Servo (=0.0.1) 11 | includes=DependsConstraintNotIndexed.h 12 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # IDE files 2 | .idea/ 3 | .vscode/ 4 | .vs/ 5 | .ionide/ 6 | 7 | # Generated files 8 | /.licenses/ 9 | __pycache__/ 10 | node_modules/ 11 | poetry.lock 12 | 13 | # Test files 14 | /internal/rule/schema/testdata/input/invalid-schema.json 15 | /internal/project/projectdata/testdata/packageindexes/invalid-JSON/package_foo_index.json 16 | /internal/rule/rulefunction/testdata/packageindexes/invalid-JSON/package_foo_index.json 17 | /internal/rule/rulefunction/testdata/sketches/InvalidJSONMetadataFile/sketch.json 18 | /ruledocsgen/testdata/golden 19 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsConstraintInvalid/library.properties: -------------------------------------------------------------------------------- 1 | name=DependsConstraintInvalid 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | depends=FooLib (=0.0.1),BarLib (nope),BazLib (=1.2.3),QuxLib (huh) 11 | includes=DependsConstraintInvalid.h 12 | -------------------------------------------------------------------------------- /tests/testdata/library-manager/Update/library.properties: -------------------------------------------------------------------------------- 1 | name=Servo 2 | version=1.1.7 3 | author=Michael Margolis, Arduino 4 | maintainer=Arduino 5 | sentence=Allows Arduino/Genuino boards to control a variety of servo motors. 6 | paragraph=This library can control a great number of servos.
It makes careful use of timers: the library can control 12 servos using only 1 timer.
On the Arduino Due you can control up to 60 servos.
7 | category=Device Control 8 | url=http://www.arduino.cc/en/Reference/Servo 9 | architectures=avr,megaavr,sam,samd,nrf52,stm32f4,mbed 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsIndexed/library.properties: -------------------------------------------------------------------------------- 1 | name=DependsIndexed 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | depends=,(foo),foo (bar),Adafruit NeoPixel,Servo (<1.1.4),Stepper (<=1.1.3),Mouse (=1.0.0),Keyboard (>=1.0.1),WiFiNINA (>1.0.0),Ethernet () 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsValid/library.properties: -------------------------------------------------------------------------------- 1 | name=DependsValid 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | depends=Servo , Adafruit NeoPixel,Stepper (<1.1.3) , Mouse (<=1.0.0),Keyboard (=1.2.3-beta),Ethernet (>=2.0),WiFiNINA (>0.0.8) 11 | includes=DependsValid.h 12 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/SpuriousMisspelledSentenceParagraphValue/library.properties: -------------------------------------------------------------------------------- 1 | name=SpuriousMisspelledSentenceParagraphValue 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=Minimal bit bang send serial 115200 or 38400 baud for 1 MHz or 230400 baud for 16 MHz clock. Perfect 6 | paragraph=Minimal bit bang send serial 115200 or 38400 baud for 1 MHz or 230400 baud for 16 MHz clock. Perfect 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | -------------------------------------------------------------------------------- /tests/testdata/library-manager/ARDUINO_LINT_LIBRARY_MANAGER_INDEXING/Servo/library.properties: -------------------------------------------------------------------------------- 1 | name=Servo 2 | version=1.1.7 3 | author=Michael Margolis, Arduino 4 | maintainer=Arduino 5 | sentence=Allows Arduino/Genuino boards to control a variety of servo motors. 6 | paragraph=This library can control a great number of servos.
It makes careful use of timers: the library can control 12 servos using only 1 timer.
On the Arduino Due you can control up to 60 servos.
7 | category=Device Control 8 | url=http://www.arduino.cc/en/Reference/Servo 9 | architectures=avr,megaavr,sam,samd,nrf52,stm32f4,mbed 10 | depends=Arduino_nonexistent 11 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/libraries/DependsConstraintValid/library.properties: -------------------------------------------------------------------------------- 1 | name=DependsConstraintValid 2 | version=1.0.0 3 | author=Cristian Maglie , Pippo Pluto 4 | maintainer=Cristian Maglie 5 | sentence=A library that makes coding a web server a breeze. 6 | paragraph=Supports HTTP1.1 and you can do GET and POST. 7 | category=Communication 8 | url=http://example.com/ 9 | architectures=avr 10 | depends=LibA (=0.0.1),LibB (>1.0.0),LibC (>=1.0.0),LibD (<2.0.0),LibE (<=2.0.0),LibF (!=1.0.0),LibG (<1.0.0 || >2.0.0),LibH ((>0.1.0 && <2.0.0) || >2.1.0),LibI (),LibJ 11 | includes=DependsConstraintValid.h 12 | -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-python/.flake8 2 | # See: https://flake8.pycqa.org/en/latest/user/configuration.html 3 | # The code style defined in this file is the official standardized style to be used in all Arduino tooling projects and 4 | # should not be modified. 5 | 6 | [flake8] 7 | doctests = True 8 | exclude = 9 | __pycache__/ 10 | .git/ 11 | /.licenses/ 12 | /docs/commands/ 13 | /docs/rules/ 14 | /site/ 15 | node_modules/ 16 | # W503 and W504 are mutually exclusive. PEP 8 recommends line break before. 17 | ignore = W503 18 | max-complexity = 10 19 | max-line-length = 120 20 | select = E,W,F,C,N 21 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/valid-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /.codespellrc: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/spell-check/.codespellrc 2 | # See: https://github.com/codespell-project/codespell#using-a-config-file 3 | [codespell] 4 | # In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here: 5 | ignore-words-list = ot,porperties,propert 6 | skip = ./.licenses,.git,__pycache__,node_modules,go.mod,go.sum,package-lock.json,poetry.lock,yarn.lock,./arduino-lint,./arduino-lint.exe,./internal/rule/rulefunction/testdata/libraries/MisspelledSentenceParagraphValue/library.properties,./site 7 | builtin = clear,informal,en-GB_to_en-US 8 | check-filenames = 9 | check-hidden = 10 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/invalid-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/name-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/no-tools-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/valid-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.maximum_size=32256 6 | buno.upload.maximum_data_size=2048 7 | buno.upload.tool.serial=avrdude 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/name-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/version-invalid-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/version-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/erase-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/no-pluggable-monitors-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/no-user-defined-field-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/properties-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-S-o-pattern-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-ar-pattern-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-c-o-pattern-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/user-defined-field-GT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/version-non-semver-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/bootloader-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/core-reference/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino:arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino:arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino:arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/erase-params-quiet-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/no-pluggable-discoveries-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/program-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-S-o-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-ar-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-c-o-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-cpp-o-pattern-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-output-save_file-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-output-tmp_file-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-preproc-macros-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-size-pattern-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-size-regex-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/upload-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/bootloader-params-quiet-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-S-extra_flags-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-ar-extra_flags-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-c-extra_flags-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/erase-params-verbose-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/no-user-defined-field-secret-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/program-params-quiet-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/program-params-verbose-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-c-combine-pattern-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-cpp-o-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-output-save_file-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-output-tmp_file-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-size-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-size-regex-data-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/upload-params-quiet-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/upload-params-verbose-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/bootloader-params-verbose-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-S-extra_flags-not-empty-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-ar-extra_flags-not-empty-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-c-elf-extra_flags-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-c-elf-extra_flags-not-empty-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-c-extra_flags-not-empty-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-cpp-extra_flags-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-cpp-extra_flags-not-empty-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-warning_flags-all-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-warning_flags-more-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-warning_flags-none-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/invalid-pluggable-discovery-required-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/invalid-pluggable-monitor-required-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-c-combine-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/user-defined-field-secret-invalid-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-optimization_flags-debug-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-warning_flags-default-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/invalid-pluggable-discovery-required-n-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/pluggable-monitor-pattern-protocol-id-LT-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-S-o-pattern-no-extra-flags-support-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-ar-pattern-no-extra-flags-support-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-c-o-pattern-no-extra-flags-support-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/result/outputformat/type_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Type -linecomment"; DO NOT EDIT. 2 | 3 | package outputformat 4 | 5 | import "strconv" 6 | 7 | func _() { 8 | // An "invalid array index" compiler error signifies that the constant values have changed. 9 | // Re-run the stringer command to generate them again. 10 | var x [1]struct{} 11 | _ = x[Text-0] 12 | _ = x[JSON-1] 13 | } 14 | 15 | const _Type_name = "textjson" 16 | 17 | var _Type_index = [...]uint8{0, 4, 8} 18 | 19 | func (i Type) String() string { 20 | idx := int(i) - 0 21 | if i < 0 || idx >= len(_Type_index)-1 { 22 | return "Type(" + strconv.FormatInt(int64(i), 10) + ")" 23 | } 24 | return _Type_name[_Type_index[idx]:_Type_index[idx+1]] 25 | } 26 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/compiler-optimization_flags-release-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-cpp-o-pattern-no-extra-flags-support-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-preproc-macros-no-extra-flags-support-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/pluggable-discovery-discovery-id-pattern-missing-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/recipe-c-combine-pattern-no-extra-flags-support-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/valid-with-manual-installation-pluggable-monitors-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/valid-with-manual-installation-pluggable-discoveries-platform.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | -------------------------------------------------------------------------------- /ruledocsgen/testdata/golden/package-index.md: -------------------------------------------------------------------------------- 1 | Arduino Lint provides 1 rules for the [`package-index`](https://arduino.github.io/arduino-cli/latest/package_index_json-specification/) project type: 2 | 3 | --- 4 | 5 | 6 | 7 | ## packages\[\*\].name missing (`IA004`) 8 | 9 | The package index has a package without a `name` property. 10 | 11 | More information: [**here**](https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents)
12 | Enabled for superproject type: all
13 | Category: data
14 | Subcategory: package 15 | 16 | ##### Rule levels 17 | 18 | | `compliance` | Level | 19 | |:--------------|:------| 20 | | permissive | ERROR | 21 | | specification | ERROR | 22 | | strict | ERROR | 23 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/boardID-debug-tool-LT-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.debug.tool= 6 | buno.upload.tool=avrdude 7 | buno.upload.maximum_size=32256 8 | buno.upload.maximum_data_size=2048 9 | 10 | uno.name=Arduino Uno 11 | uno.build.board=UNO 12 | uno.build.core=arduino 13 | uno.build.variant=standard 14 | uno.debug.tool=asdf 15 | uno.upload.tool=avrdude 16 | uno.upload.maximum_size=32256 17 | uno.upload.maximum_data_size=2048 18 | 19 | funo.name=Funo 20 | funo.build.board=FUNO 21 | funo.build.core=arduino 22 | funo.build.variant=standard 23 | funo.debug.tool= 24 | funo.upload.tool=avrdude 25 | funo.upload.maximum_size=32256 26 | funo.upload.maximum_data_size=2048 27 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Source: 2 | # https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-python/__init__.py 3 | # Copyright 2020 ARDUINO SA (http://www.arduino.cc/) 4 | # 5 | # This software is released under the GNU General Public License version 3, 6 | # The terms of this license can be found at: 7 | # https://www.gnu.org/licenses/gpl-3.0.en.html 8 | # 9 | # You can be released from the requirements of the above licenses by purchasing 10 | # a commercial license. Buying such a license is mandatory if you want to 11 | # modify or otherwise use the software for commercial activities involving the 12 | # Arduino software without disclosing the source code of your own applications. 13 | # To purchase a commercial license, send an email to license@arduino.cc. 14 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/boardID-menu-menuID-LT-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.menu.bar.asdf= 6 | buno.upload.tool=avrdude 7 | buno.upload.maximum_size=32256 8 | buno.upload.maximum_data_size=2048 9 | 10 | uno.name=Arduino Uno 11 | uno.build.board=UNO 12 | uno.build.core=arduino 13 | uno.build.variant=standard 14 | uno.menu.baz.zxcv=qwer 15 | uno.upload.tool=avrdude 16 | uno.upload.maximum_size=32256 17 | uno.upload.maximum_data_size=2048 18 | 19 | funo.name=Funo 20 | funo.build.board=FUNO 21 | funo.build.core=arduino 22 | funo.build.variant=standard 23 | funo.menu.foo.tyui= 24 | funo.upload.tool=avrdude 25 | funo.upload.maximum_size=32256 26 | funo.upload.maximum_data_size=2048 27 | -------------------------------------------------------------------------------- /ruledocsgen/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Source: 2 | # https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-python/__init__.py 3 | # Copyright 2021 ARDUINO SA (http://www.arduino.cc/) 4 | # 5 | # This software is released under the GNU General Public License version 3, 6 | # The terms of this license can be found at: 7 | # https://www.gnu.org/licenses/gpl-3.0.en.html 8 | # 9 | # You can be released from the requirements of the above licenses by purchasing 10 | # a commercial license. Buying such a license is mandatory if you want to 11 | # modify or otherwise use the software for commercial activities involving the 12 | # Arduino software without disclosing the source code of your own applications. 13 | # To purchase a commercial license, send an email to license@arduino.cc. 14 | -------------------------------------------------------------------------------- /internal/rule/rulelevel/type_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Type -linecomment"; DO NOT EDIT. 2 | 3 | package rulelevel 4 | 5 | import "strconv" 6 | 7 | func _() { 8 | // An "invalid array index" compiler error signifies that the constant values have changed. 9 | // Re-run the stringer command to generate them again. 10 | var x [1]struct{} 11 | _ = x[Info-0] 12 | _ = x[Warning-1] 13 | _ = x[Error-2] 14 | _ = x[Notice-3] 15 | } 16 | 17 | const _Type_name = "INFOWARNINGERRORNOTICE" 18 | 19 | var _Type_index = [...]uint8{0, 4, 11, 16, 22} 20 | 21 | func (i Type) String() string { 22 | idx := int(i) - 0 23 | if i < 0 || idx >= len(_Type_index)-1 { 24 | return "Type(" + strconv.FormatInt(int64(i), 10) + ")" 25 | } 26 | return _Type_name[_Type_index[idx]:_Type_index[idx+1]] 27 | } 28 | -------------------------------------------------------------------------------- /internal/rule/ruleresult/type_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Type -linecomment"; DO NOT EDIT. 2 | 3 | package ruleresult 4 | 5 | import "strconv" 6 | 7 | func _() { 8 | // An "invalid array index" compiler error signifies that the constant values have changed. 9 | // Re-run the stringer command to generate them again. 10 | var x [1]struct{} 11 | _ = x[Pass-0] 12 | _ = x[Fail-1] 13 | _ = x[Skip-2] 14 | _ = x[NotRun-3] 15 | } 16 | 17 | const _Type_name = "passfailskippedunable to run" 18 | 19 | var _Type_index = [...]uint8{0, 4, 8, 15, 28} 20 | 21 | func (i Type) String() string { 22 | idx := int(i) - 0 23 | if i < 0 || idx >= len(_Type_index)-1 { 24 | return "Type(" + strconv.FormatInt(int64(i), 10) + ")" 25 | } 26 | return _Type_name[_Type_index[idx]:_Type_index[idx+1]] 27 | } 28 | -------------------------------------------------------------------------------- /internal/rule/schema/compliancelevel/type_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Type -linecomment"; DO NOT EDIT. 2 | 3 | package compliancelevel 4 | 5 | import "strconv" 6 | 7 | func _() { 8 | // An "invalid array index" compiler error signifies that the constant values have changed. 9 | // Re-run the stringer command to generate them again. 10 | var x [1]struct{} 11 | _ = x[Permissive-0] 12 | _ = x[Specification-1] 13 | _ = x[Strict-2] 14 | } 15 | 16 | const _Type_name = "permissivestandardstrict" 17 | 18 | var _Type_index = [...]uint8{0, 10, 18, 24} 19 | 20 | func (i Type) String() string { 21 | idx := int(i) - 0 22 | if i < 0 || idx >= len(_Type_index)-1 { 23 | return "Type(" + strconv.FormatInt(int64(i), 10) + ")" 24 | } 25 | return _Type_name[_Type_index[idx]:_Type_index[idx+1]] 26 | } 27 | -------------------------------------------------------------------------------- /ruledocsgen/testdata/golden/sketch.md: -------------------------------------------------------------------------------- 1 | Arduino Lint provides 1 rules for the [`sketch`](https://arduino.github.io/arduino-cli/latest/sketch-specification/) project type: 2 | 3 | --- 4 | 5 | 6 | 7 | ## name mismatch (`SS001`) 8 | 9 | There is no `.ino` sketch file with name matching the sketch folder. The primary sketch file name must match the folder for the sketch to be valid. 10 | 11 | More information: [**here**](https://arduino.github.io/arduino-cli/latest/sketch-specification/#primary-sketch-file)
12 | Enabled for superproject type: all
13 | Category: structure
14 | Subcategory: root folder 15 | 16 | ##### Rule levels 17 | 18 | | `compliance` | Level | 19 | |:--------------|:--------| 20 | | permissive | WARNING | 21 | | specification | ERROR | 22 | | strict | ERROR | 23 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/template-choosers/general/config.yml 2 | # See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser 3 | 4 | blank_issues_enabled: false 5 | contact_links: 6 | - name: Learn about using this project 7 | url: https://arduino.github.io/arduino-lint/dev/ 8 | about: Detailed usage documentation is available here. 9 | - name: Support request 10 | url: https://forum.arduino.cc/ 11 | about: We can help you out on the Arduino Forum! 12 | - name: Discuss development work on the project 13 | url: https://groups.google.com/a/arduino.cc/g/developers 14 | about: Arduino Developers Mailing List 15 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/boardID-upload-maximum_data_size-missing-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | 8 | uno.name=Arduino Uno 9 | uno.build.board=UNO 10 | uno.build.core=arduino 11 | uno.build.variant=standard 12 | uno.upload.tool=avrdude 13 | uno.upload.maximum_size=32256 14 | uno.upload.maximum_data_size=2048 15 | 16 | funo.name=Funo 17 | funo.build.board=FUNO 18 | funo.build.core=arduino 19 | funo.build.variant=standard 20 | funo.upload.tool=avrdude 21 | funo.upload.maximum_size=32256 22 | 23 | zuno.name=Zuno 24 | zuno.build.board=ZUNO 25 | zuno.build.core=arduino 26 | zuno.build.variant=standard 27 | zuno.upload.tool=avrdude 28 | zuno.upload.maximum_size=32256 29 | zuno.menu.foo.bar.maximum_data_size=2048 30 | -------------------------------------------------------------------------------- /internal/project/projecttype/type_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Type -linecomment"; DO NOT EDIT. 2 | 3 | package projecttype 4 | 5 | import "strconv" 6 | 7 | func _() { 8 | // An "invalid array index" compiler error signifies that the constant values have changed. 9 | // Re-run the stringer command to generate them again. 10 | var x [1]struct{} 11 | _ = x[Sketch-0] 12 | _ = x[Library-1] 13 | _ = x[Platform-2] 14 | _ = x[PackageIndex-3] 15 | _ = x[All-4] 16 | _ = x[Not-5] 17 | } 18 | 19 | const _Type_name = "sketchlibraryplatformpackage-indexallN/A" 20 | 21 | var _Type_index = [...]uint8{0, 6, 13, 21, 34, 37, 40} 22 | 23 | func (i Type) String() string { 24 | idx := int(i) - 0 25 | if i < 0 || idx >= len(_Type_index)-1 { 26 | return "Type(" + strconv.FormatInt(int64(i), 10) + ")" 27 | } 28 | return _Type_name[_Type_index[idx]:_Type_index[idx+1]] 29 | } 30 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/boardID-upload-maximum_size-missing-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_data_size=2048 7 | 8 | uno.name=Arduino Uno 9 | uno.build.board=UNO 10 | uno.build.core=arduino 11 | uno.build.variant=standard 12 | uno.upload.tool=avrdude 13 | uno.upload.maximum_size=32256 14 | uno.upload.maximum_data_size=2048 15 | 16 | funo.name=Funo 17 | funo.build.board=FUNO 18 | funo.build.core=arduino 19 | funo.build.variant=standard 20 | funo.upload.tool=avrdude 21 | funo.upload.maximum_data_size=2048 22 | 23 | zuno.name=Zuno 24 | zuno.build.board=ZUNO 25 | zuno.build.core=arduino 26 | zuno.build.variant=standard 27 | zuno.upload.tool=avrdude 28 | zuno.upload.maximum_data_size=2048 29 | zuno.menu.foo.bar.upload.maximum_size=32256 30 | -------------------------------------------------------------------------------- /etc/schemas/arduino-package-index-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://raw.githubusercontent.com/arduino/arduino-lint/main/etc/schemas/arduino-package-index-schema.json", 4 | "title": "Arduino Package Index JSON schema", 5 | "description": "Package indexes define Arduino hardware packages. See: https://arduino.github.io/arduino-cli/latest/package_index_json-specification/. This schema defines the data format per the specification.", 6 | "$comment": "This is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.", 7 | "allOf": [ 8 | { 9 | "$ref": "arduino-package-index-definitions-schema.json#/definitions/root/specification/object" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/boardID-build-core-missing-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.variant=standard 4 | buno.upload.tool=avrdude 5 | buno.upload.maximum_size=32256 6 | buno.upload.maximum_data_size=2048 7 | 8 | uno.name=Arduino Uno 9 | uno.build.board=UNO 10 | uno.build.core=arduino 11 | uno.build.variant=standard 12 | uno.upload.tool=avrdude 13 | uno.upload.maximum_size=32256 14 | uno.upload.maximum_data_size=2048 15 | 16 | funo.name=Funo 17 | funo.build.board=FUNO 18 | funo.build.variant=standard 19 | funo.upload.tool=avrdude 20 | funo.upload.maximum_size=32256 21 | funo.upload.maximum_data_size=2048 22 | 23 | zuno.name=Zuno 24 | zuno.build.board=ZUNO 25 | zuno.build.variant=standard 26 | zuno.upload.tool=avrdude 27 | zuno.upload.maximum_size=32256 28 | zuno.upload.maximum_data_size=2048 29 | zuno.menu.foo.bar.build.core=arduino 30 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/boardID-upload-tool-missing-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.maximum_size=32256 6 | buno.upload.maximum_data_size=2048 7 | 8 | uno.name=Arduino Uno 9 | uno.build.board=UNO 10 | uno.build.core=arduino 11 | uno.build.variant=standard 12 | uno.upload.tool=avrdude 13 | uno.upload.maximum_size=32256 14 | uno.upload.maximum_data_size=2048 15 | 16 | funo.name=Funo 17 | funo.build.board=FUNO 18 | funo.build.core=arduino 19 | funo.build.variant=standard 20 | funo.upload.maximum_size=32256 21 | funo.upload.maximum_data_size=2048 22 | 23 | zuno.name=Zuno 24 | zuno.build.board=ZUNO 25 | zuno.build.core=arduino 26 | zuno.build.variant=standard 27 | zuno.upload.maximum_size=32256 28 | zuno.upload.maximum_data_size=2048 29 | zuno.menu.foo.bar.upload.tool=avrdude 30 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-platforms-help-online-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": {}, 9 | "platforms": [ 10 | { 11 | "name": "My Board", 12 | "architecture": "avr", 13 | "version": "1.0.0", 14 | "category": "Contributed", 15 | "help": {}, 16 | "url": "http://example.com", 17 | "archiveFileName": "myboard-1.0.0.zip", 18 | "checksum": "SHA-256:ec3ff8a1dc96d3ba6f432b9b837a35fd4174a34b3d2927de1d51010e8b94f9f1", 19 | "size": "15005", 20 | "boards": [], 21 | "toolsDependencies": [] 22 | } 23 | ], 24 | "tools": [] 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/boardID-name-missing-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.build.board=BUNO 2 | buno.build.core=arduino 3 | buno.build.variant=standard 4 | buno.upload.tool=avrdude 5 | buno.upload.maximum_size=32256 6 | buno.upload.maximum_data_size=2048 7 | 8 | uno.name=Arduino Uno 9 | uno.build.board=UNO 10 | uno.build.core=arduino 11 | uno.build.variant=standard 12 | uno.upload.tool=avrdude 13 | uno.upload.maximum_size=32256 14 | uno.upload.maximum_data_size=2048 15 | 16 | funo.build.board=FUNO 17 | funo.build.core=arduino 18 | funo.build.variant=standard 19 | funo.upload.tool=avrdude 20 | funo.upload.maximum_size=32256 21 | funo.upload.maximum_data_size=2048 22 | 23 | zuno.build.board=ZUNO 24 | zuno.build.core=arduino 25 | zuno.build.variant=standard 26 | zuno.upload.tool=avrdude 27 | zuno.upload.maximum_size=32256 28 | zuno.upload.maximum_data_size=2048 29 | zuno.menu.foo.bar.name=zuno 30 | -------------------------------------------------------------------------------- /etc/schemas/arduino-package-index-permissive-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://raw.githubusercontent.com/arduino/arduino-lint/main/etc/schemas/arduino-package-index-permissive-schema.json", 4 | "title": "Arduino Package Index JSON permissive schema", 5 | "description": "Package indexes define Arduino hardware packages. See: https://arduino.github.io/arduino-cli/latest/package_index_json-specification/. This schema defines the minimum accepted data format.", 6 | "$comment": "This is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.", 7 | "allOf": [ 8 | { 9 | "$ref": "arduino-package-index-definitions-schema.json#/definitions/root/permissive/object" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-platforms-checksum-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [ 12 | { 13 | "name": "My Board", 14 | "architecture": "avr", 15 | "version": "1.0.0", 16 | "category": "Contributed", 17 | "help": { 18 | "online": "http://example.com" 19 | }, 20 | "url": "http://example.com", 21 | "archiveFileName": "myboard-1.0.0.zip", 22 | "size": "15005", 23 | "boards": [], 24 | "toolsDependencies": [] 25 | } 26 | ], 27 | "tools": [] 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/packageindexes/packages-platforms-help-missing/package_foo_index.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | { 4 | "name": "foopackager", 5 | "maintainer": "Jane Developer", 6 | "websiteURL": "http://example.com", 7 | "email": "jane@example.com", 8 | "help": { 9 | "online": "http://example.com" 10 | }, 11 | "platforms": [ 12 | { 13 | "name": "My Board", 14 | "architecture": "avr", 15 | "version": "1.0.0", 16 | "category": "Contributed", 17 | "url": "http://example.com", 18 | "archiveFileName": "myboard-1.0.0.zip", 19 | "checksum": "SHA-256:ec3ff8a1dc96d3ba6f432b9b837a35fd4174a34b3d2927de1d51010e8b94f9f1", 20 | "size": "15005", 21 | "boards": [], 22 | "toolsDependencies": [] 23 | } 24 | ], 25 | "tools": [] 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/boardID-build-core-LT-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board=BUNO 3 | buno.build.core= 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board=FUNO 19 | funo.build.core= 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | 25 | zuno.name=Zuno 26 | zuno.build.board=ZUNO 27 | zuno.build.variant=standard 28 | zuno.upload.tool=avrdude 29 | zuno.upload.maximum_size=32256 30 | zuno.upload.maximum_data_size=2048 31 | zuno.menu.foo.bar.build.core= 32 | -------------------------------------------------------------------------------- /internal/rule/rulefunction/testdata/platforms/boardID-build-board-LT-boards.txt/boards.txt: -------------------------------------------------------------------------------- 1 | buno.name=Buno 2 | buno.build.board= 3 | buno.build.core=arduino 4 | buno.build.variant=standard 5 | buno.upload.tool=avrdude 6 | buno.upload.maximum_size=32256 7 | buno.upload.maximum_data_size=2048 8 | 9 | uno.name=Arduino Uno 10 | uno.build.board=UNO 11 | uno.build.core=arduino 12 | uno.build.variant=standard 13 | uno.upload.tool=avrdude 14 | uno.upload.maximum_size=32256 15 | uno.upload.maximum_data_size=2048 16 | 17 | funo.name=Funo 18 | funo.build.board= 19 | funo.build.core=arduino 20 | funo.build.variant=standard 21 | funo.upload.tool=avrdude 22 | funo.upload.maximum_size=32256 23 | funo.upload.maximum_data_size=2048 24 | 25 | zuno.name=Zuno 26 | zuno.build.core=arduino 27 | zuno.build.variant=standard 28 | zuno.upload.tool=avrdude 29 | zuno.upload.maximum_size=32256 30 | zuno.upload.maximum_data_size=2048 31 | zuno.menu.foo.bar.build.board= 32 | -------------------------------------------------------------------------------- /etc/schemas/arduino-package-index-strict-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://raw.githubusercontent.com/arduino/arduino-lint/main/etc/schemas/arduino-package-index-strict-schema.json", 4 | "title": "Arduino Package Index JSON strict schema", 5 | "description": "Package indexes define Arduino hardware packages. See: https://arduino.github.io/arduino-cli/latest/package_index_json-specification/. This schema defines the best practices for the data format, above and beyond the specification.", 6 | "$comment": "This is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.", 7 | "allOf": [ 8 | { 9 | "$ref": "arduino-package-index-definitions-schema.json#/definitions/root/strict/object" 10 | } 11 | ] 12 | } 13 | --------------------------------------------------------------------------------