filevault-package:validate-package
Full name:
org.apache.jackrabbit:filevault-package-maven-plugin:1.3.4:validate-package
Description:
This goal is executed/bound by default for Maven modules of type content-package
.
See also: Validators
Attributes:
- Requires dependency resolution of artifacts in scope:
compile
. - The goal is thread-safe and supports parallel builds.
- Since version:
1.1.0
. - Binds by default to the lifecycle phase:
verify
.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<enforceRecursiveSubpackageValidation> |
boolean |
- |
If set to true always executes all validators also for all sub packages (recursively).Default value is: false . |
<skipSubPackageValidation> |
boolean |
1.1.2 |
If set to true will not validate any sub packages. This settings overwrites the parameter enforceRecursiveSubpackageValidation .Default value is: false . |
<skipValidation> |
boolean |
- |
Skips validation. Default value is: false .User property is: vault.skipValidation . |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<classifier> |
String |
1.2.2 |
The given classifier is merged with the ones from parameter classifiers . All matching attached artifacts are validated (potentially in addition to the main package depending on parameter skipPackageFile ).User property is: vault.classifier . |
<classifiers> |
List<String> |
1.1.4 |
The given classifiers are merged with the one from parameter classifier . All matching attached artifacts are validated (potentially in addition to the main package depending on parameter skipPackageFile ).User property is: vault.classifiers . |
<csvReportFile> |
File |
- |
The file where to write a report of all found validation violations (warnings and errors) in CSV format as defined in RFC 4180. The generated file is using UTF-8 character encoding. No CSV report is written if this parameter is not set (default). User property is: vault.validation.csvReportFile . |
<dependencies> |
Collection<MavenBasedPackageDependency> |
- |
Defines the list of dependencies. A dependency is declared as a <dependency> element of a list style <dependencies> element:
<dependency> <group>theGroup</group> <name>theName</name> <version>1.5</version> </dependency> The dependency can also reference a maven project dependency, this is preferred as it yields to more robust builds. <dependency> <groupId>theGroup</groupId> <artifactId>theName</artifactId> </dependency> The User property is: vault.dependencies . |
<failOnDependencyErrors> |
boolean |
- |
Deprecated. Controls if errors during dependency validation should fail the build. Default value is: true .User property is: vault.failOnDependencyErrors . |
<failOnValidationWarnings> |
boolean |
- |
If set to true will lead to all validation errors or warnings failing the build, otherwise only validation errors lead to a build failureDefault value is: false .User property is: vault.failOnValidationWarning . |
<mapPackageDependencyToMavenGa> |
Collection<String> |
- |
Mapping of package dependencies given via group and name to Maven identifiers for enhanced validation. Each entry must have the format <group>:<name>=<groupId>:<artifactId> . To disable lookup (e.g. because referenced artifact is not available in a Maven repository) use <group>:<name>=ignore . This will also prevent the WARNING which would be otherwise be emitted.User property is: vault.package.dependency.to.maven.ga . |
<packageFile> |
File |
- |
The path to the main package file to validate. Default value is: ${project.artifact.file} .User property is: vault.packageToValidate . |
<repositoryStructurePackages> |
Collection<MavenBasedPackageDependency> |
- |
Defines the packages that define the repository structure. They are sharing the same format as the elements used in dependencies .
The repoinit feature of Sling can define initial content that will be available in the repository before the first package is installed. Packages that depend on those nodes have no way to reference a regular dependency package that provides these nodes. A "real" package that would creates those nodes cannot be installed in the repository, because it would void the repoinit structure. On the other hand FileVault would complain, if the package was listed as dependency but not installed in the repository. Therefore these repository-structure packages serve as build-time only dependency that help satisfy the structural dependencies, but are not added as real (i.e. run-time) dependencies to the package. Repository-structure packages are only evaluated for their contained filter rules' root attributes. Currently these packages are only used to define the User property is: vault.repository.structure.packages . |
<skipPackageFile> |
boolean |
1.3.2 |
If set to true skips validating the package given via packageFile but only validates the ones being attached to the current project and having a classifier equal to the one(s) in either classifiers and/or classifier .User property is: vault.skipPackageFile . |
<validatorsSettings> |
Map<String,ValidatorSettings> |
- |
All validator settings in a map. The keys are the validator ids (optionally suffixed by __ and some arbitrary string). Each key must only appear once. Use the suffix if you have validator settings for the same id with different restrictions. The values are a complex object of type org.apache.jackrabbit.filevault.maven.packaging.ValidatorSettings . An example configuration looks like
<jackrabbit-filter> <options> <severityForUncoveredAncestorNodes>error</severityForUncoveredAncestorNodes> </options> </jackrabbit-filter> isDisabled , defaultSeverity and options . In addition the settings may be restricted to certain packages only with the help of field packageRestriction .
<jackrabbit-filter__restricted1> <options> <severityForUncoveredAncestorNodes>warning</severityForUncoveredAncestorNodes> </options> <packageRestriction> <group>somegroup</group> <!-- optional, if set the enclosing settings apply only to packages with the given group --> <name>somename</name> <!-- optional, if set the enclosing settings apply only to packages with the given name --> <subPackageOnly>true</subPackageOnly> <!-- if set to true, the enclosing settings apply only to subpackages otherwise to all kinds of packages --> <packageRestriction> </jackrabbit-filter__restricted1>
|
Parameter Details
<classifier>
classifiers
. All matching attached artifacts are validated (potentially in addition to the main package depending on parameter skipPackageFile
).- Type:
java.lang.String
- Since:
1.2.2
- Required:
No
- User Property:
vault.classifier
<classifiers>
classifier
. All matching attached artifacts are validated (potentially in addition to the main package depending on parameter skipPackageFile
).- Type:
java.util.List<java.lang.String>
- Since:
1.1.4
- Required:
No
- User Property:
vault.classifiers
<csvReportFile>
- Type:
java.io.File
- Required:
No
- User Property:
vault.validation.csvReportFile
<dependencies>
<dependency>
element of a list style <dependencies>
element:
<dependency> <group>theGroup</group> <name>theName</name> <version>1.5</version> </dependency>
The dependency can also reference a maven project dependency, this is preferred as it yields to more robust builds.
<dependency> <groupId>theGroup</groupId> <artifactId>theName</artifactId> </dependency>
The versionRange
may be indicated as a single version, in which case the version range has no upper bound and defines the minimal version accepted. Otherwise, the version range defines a lower and upper bound of accepted versions, where the bounds are either included using parentheses ()
or excluded using brackets []
- Type:
java.util.Collection<org.apache.jackrabbit.filevault.maven.packaging.MavenBasedPackageDependency>
- Required:
No
- User Property:
vault.dependencies
<enforceRecursiveSubpackageValidation>
true
always executes all validators also for all sub packages (recursively).- Type:
boolean
- Required:
Yes
- Default:
false
<failOnDependencyErrors>
validatorsSettings
with the following values instead
<jackrabbit-dependencies> <defaultSeverity>debug</defaultSeverity> </jackrabbit-dependencies>
- Type:
boolean
- Required:
No
- User Property:
vault.failOnDependencyErrors
- Default:
true
<failOnValidationWarnings>
true
will lead to all validation errors or warnings failing the build, otherwise only validation errors lead to a build failure- Type:
boolean
- Required:
No
- User Property:
vault.failOnValidationWarning
- Default:
false
<mapPackageDependencyToMavenGa>
<group>:<name>=<groupId>:<artifactId>
. To disable lookup (e.g. because referenced artifact is not available in a Maven repository) use <group>:<name>=ignore
. This will also prevent the WARNING which would be otherwise be emitted.- Type:
java.util.Collection<java.lang.String>
- Required:
No
- User Property:
vault.package.dependency.to.maven.ga
<packageFile>
- Type:
java.io.File
- Required:
No
- User Property:
vault.packageToValidate
- Default:
${project.artifact.file}
<repositoryStructurePackages>
dependencies
.
The repoinit feature of Sling can define initial content that will be available in the repository before the first package is installed. Packages that depend on those nodes have no way to reference a regular dependency package that provides these nodes. A "real" package that would creates those nodes cannot be installed in the repository, because it would void the repoinit structure. On the other hand FileVault would complain, if the package was listed as dependency but not installed in the repository. Therefore these repository-structure packages serve as build-time only dependency that help satisfy the structural dependencies, but are not added as real (i.e. run-time) dependencies to the package. Repository-structure packages are only evaluated for their contained filter rules' root attributes. Currently these packages are only used to define the validRoots
of the validator jackrabbit-filter
.
- Type:
java.util.Collection<org.apache.jackrabbit.filevault.maven.packaging.MavenBasedPackageDependency>
- Required:
No
- User Property:
vault.repository.structure.packages
<skipPackageFile>
true
skips validating the package given via packageFile
but only validates the ones being attached to the current project and having a classifier equal to the one(s) in either classifiers
and/or classifier
.- Type:
boolean
- Since:
1.3.2
- Required:
No
- User Property:
vault.skipPackageFile
<skipSubPackageValidation>
true
will not validate any sub packages. This settings overwrites the parameter enforceRecursiveSubpackageValidation
.- Type:
boolean
- Since:
1.1.2
- Required:
Yes
- Default:
false
<skipValidation>
- Type:
boolean
- Required:
Yes
- User Property:
vault.skipValidation
- Default:
false
<validatorsSettings>
__
and some arbitrary string). Each key must only appear once. Use the suffix if you have validator settings for the same id with different restrictions. The values are a complex object of type org.apache.jackrabbit.filevault.maven.packaging.ValidatorSettings
. An example configuration looks like
<jackrabbit-filter> <options> <severityForUncoveredAncestorNodes>error</severityForUncoveredAncestorNodes> </options> </jackrabbit-filter>
isDisabled
, defaultSeverity
and options
. In addition the settings may be restricted to certain packages only with the help of field packageRestriction
.
<jackrabbit-filter__restricted1> <options> <severityForUncoveredAncestorNodes>warning</severityForUncoveredAncestorNodes> </options> <packageRestriction> <group>somegroup</group> <!-- optional, if set the enclosing settings apply only to packages with the given group --> <name>somename</name> <!-- optional, if set the enclosing settings apply only to packages with the given name --> <subPackageOnly>true</subPackageOnly> <!-- if set to true, the enclosing settings apply only to subpackages otherwise to all kinds of packages --> <packageRestriction> </jackrabbit-filter__restricted1>
- settings for a specific package group and a specific package name
- settings for any package group and a specific package name
- settings for a specific package group and any package name
- settings without restrictions