Skip to content
BETAGuardrails are in beta. The library, the configuration format and the CLI command can still change.

Guardrails

maven

4 guardrails, all at version v1.

GuardrailDefault severityWhat it checks
maven/coordinates-declaredwarningThe root POM names the group, the artifact and the version it publishes, declaring them itself or inheriting the group and the version from a <parent>.
maven/dependencies-versionedwarningEvery dependency the POM and its modules declare takes a version from the checkout, whether from the entry itself, from <dependencyManagement>, from an imported BOM or from a property. A parent POM published elsewhere is not read here, so a version only that parent manages reads as unresolved.
maven/no-snapshot-dependencieserrorNo dependency the POM and its modules declare, and no BOM they import, is at a -SNAPSHOT version.
maven/pom-parseserrorThe root pom.xml is well formed XML, so the build it describes can be read at all.

Shared inputs

Every maven guardrail declares these inputs, and each one may add its own.

InputDescriptionDefault
projectDirDirectory holding the project, relative to the directory the CLI runs in..

Shared collectors

Every maven guardrail is handed the facts these collectors gather, and each one may ask for more of its own.

CollectorGathers
mavenThe Maven build in the project directory: the root pom.xml coordinates, its modules, its properties and every dependency it and its modules declare, with the versions its imported BOMs supply.

Every guardrail in this category is configured the same way, in the guardrails.checks array of buildnote.json. See Configuring guardrails for every option, and Guardrails to search the whole library.

Buildnote Limited
Registered in England and Wales, Reg: 16140412