filevault-package:validate-files
Full name:
org.apache.jackrabbit:filevault-package-maven-plugin:1.3.1-SNAPSHOT:validate-files
Description:
This goal is executed/bound by
default for Maven modules of type content-package
.
Attributes:
- Requires a Maven project to be executed.
- 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:
process-test-sources
.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<excludes> |
String[] |
1.1.0 |
The file name patterns to exclude in addition to the ones listed in
AbstractScanner.DEFAULTEXCLUDES . The format of each
pattern is described in DirectoryScanner . The
comparison is against the path relative to the according filter
root. Since this is hardly predictable it is recommended to use
only filename/directory name patterns here but not take into
account file system hierarchies!
Each value is either a regex pattern if enclosed within
Default value is: **/.vlt,**/.vltignore .User property is: vault.excludes . |
<failOnDependencyErrors> |
boolean |
1.1.0 |
Deprecated. Use validatorsSettings with the following values
instead
<jackrabbit-dependencies> <defaultSeverity>debug</defaultSeverity> </jackrabbit-dependencies> Default value is: true .User property is: vault.failOnDependencyErrors . |
<jcrRootSourceDirectory> |
File[] |
1.1.0 |
The directory that contains the jcr_root of the content. Multiple
directories can be specified as a comma separated list, which will
act as a search path and cause the plugin to look for the first
existing directory. Default value is: ${project.basedir}/jcr_root,${project.basedir}/src/main/jcr_root,${project.basedir}/src/main/content/jcr_root,${project.basedir}/src/content/jcr_root,${project.build.outputDirectory} .User property is: vault.jcrRootSourceDirectory . |
<metaInfVaultDirectory> |
File[] |
1.1.0 |
The directory that contains the META-INF/vault. Multiple
directories can be specified as a comma separated list, which will
act as a search path and cause the plugin to look for the first
existing directory.
This directory is added as fileset to the package archiver
before the the Default value is: ${project.basedir}/META-INF/vault,${project.basedir}/src/main/META-INF/vault,${project.basedir}/src/main/content/META-INF/vault,${project.basedir}/src/content/META-INF/vault .User property is: vault.metaInfVaultDirectory . |
<skipValidation> |
boolean |
1.1.0 |
Skips validation. Default value is: false .User property is: vault.skipValidation . |
<workDirectory> |
File |
1.1.0 |
The directory containing the metadata to be packaged up into the
content package. Basically containing all files/folders being
generated by goal generate-metadata .Default value is: ${project.build.directory}/vault-work . |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<builtContentDirectory> |
File |
1.1.0 |
Deprecated. No reason given |
<classifier> |
String |
1.1.0 |
If given validates files built for the given classifier. This
modifies the workDirectory and appends the suffix
-<classifier> to it.User property is: vault.classifier . |
<csvReportFile> |
File |
1.1.0 |
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 |
1.1.0 |
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 . |
<failOnValidationWarnings> |
boolean |
1.1.0 |
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 |
1.1.0 |
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 . |
<repositoryStructurePackages> |
Collection |
1.1.0 |
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 . |
<validatorsSettings> |
Map |
1.1.0 |
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 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
<builtContentDirectory>
jcrRootSourceDirectory
instead.- Type:
java.io.File
- Since:
1.1.0
- Required:
No
<classifier>
workDirectory
and appends the suffix
-<classifier>
to it.- Type:
java.lang.String
- Since:
1.1.0
- Required:
No
- User Property:
vault.classifier
<csvReportFile>
- Type:
java.io.File
- Since:
1.1.0
- 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
- Since:
1.1.0
- Required:
No
- User Property:
vault.dependencies
<excludes>
AbstractScanner.DEFAULTEXCLUDES
. The format of each
pattern is described in DirectoryScanner
. The
comparison is against the path relative to the according filter
root. Since this is hardly predictable it is recommended to use
only filename/directory name patterns here but not take into
account file system hierarchies!
Each value is either a regex pattern if enclosed within
%regex[
and ]
, otherwise an Ant
pattern.
- Type:
java.lang.String[]
- Since:
1.1.0
- Required:
Yes
- User Property:
vault.excludes
- Default:
**/.vlt,**/.vltignore
<failOnDependencyErrors>
validatorsSettings
with the following values
instead
<jackrabbit-dependencies> <defaultSeverity>debug</defaultSeverity> </jackrabbit-dependencies>
- Type:
boolean
- Since:
1.1.0
- Required:
Yes
- 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
- Since:
1.1.0
- Required:
No
- User Property:
vault.failOnValidationWarning
- Default:
false
<jcrRootSourceDirectory>
- Type:
java.io.File[]
- Since:
1.1.0
- Required:
Yes
- User Property:
vault.jcrRootSourceDirectory
- Default:
${project.basedir}/jcr_root,${project.basedir}/src/main/jcr_root,${project.basedir}/src/main/content/jcr_root,${project.basedir}/src/content/jcr_root,${project.build.outputDirectory}
<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
- Since:
1.1.0
- Required:
No
- User Property:
vault.package.dependency.to.maven.ga
<metaInfVaultDirectory>
This directory is added as fileset to the package archiver
before the the workDirectory
. This means that files
specified in this directory have precedence over the one present in
the workDirectory
. For example, if this directory
contains a properties.xml
it will not be overwritten
by the generated one. A special case is the filter.xml
which will be merged with inline filters if present.
- Type:
java.io.File[]
- Since:
1.1.0
- Required:
Yes
- User Property:
vault.metaInfVaultDirectory
- Default:
${project.basedir}/META-INF/vault,${project.basedir}/src/main/META-INF/vault,${project.basedir}/src/main/content/META-INF/vault,${project.basedir}/src/content/META-INF/vault
<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
- Since:
1.1.0
- Required:
No
- User Property:
vault.repository.structure.packages
<skipValidation>
- Type:
boolean
- Since:
1.1.0
- 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 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
- Type:
java.util.Map
- Since:
1.1.0
- Required:
No
<workDirectory>
generate-metadata
.- Type:
java.io.File
- Since:
1.1.0
- Required:
Yes
- Default:
${project.build.directory}/vault-work