Fork me on GitHub

filevault-package:validate-package

Full name:

org.apache.jackrabbit:filevault-package-maven-plugin:1.1.5-SNAPSHOT:validate-package

Description:

Validates a package (and optionally in addition all attached packages with the given classifiers) with all registered validators.

Attributes:

  • Requires dependency resolution of artifacts in scope: compile.
  • 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.
<failOnDependencyErrors> boolean - Deprecated. Use validatorsSettings with the following values instead
  <jackrabbit-dependencies>
      <defaultSeverity>debug</defaultSeverity>
  </jackrabbit-dependencies>

Default value is: true.
User property is: vault.failOnDependencyErrors.
<packageFile> File - The mainn package file to validate. By default will be the project's main artifact (in case a project is given)
Default value is: ${project.artifact.file}.
User property is: vault.packageToValidate.
<skipSubPackageValidation> boolean - If set to true will not validate any sub packages. This settings overwrites the parameter enforceRecursiveSubpackageValidation.
Default value is: false.
<skipValidation> boolean - (no description)
Default value is: false.
User property is: vault.skipValidation.

Optional Parameters

Name Type Since Description
<classifiers> List - If given validates all attached artifacts with one of the given classifiers in addition
<dependencies> Collection - 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 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 []


User property is: vault.dependencies.
<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 failure
Default value is: false.
User property is: vault.failOnValidationWarning.
<mapPackageDependencyToMavenGa> Collection - 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 - Defines the packages that define the repository structure. For the format description look at dependencies.

The repository-init feature of sling-start 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 any 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 repository init structure. On the other hand would filevault complain, if the package was listed as dependency but not installed in the repository. So therefore this repository-structure packages serve as indicator packages that helps satisfy the structural dependencies, but are not added as real dependencies to the package.


User property is: vault.repository.structure.packages.
<validatorsSettings> Map - All validator settings in a map. The keys are the validator ids (optionally suffixed by :<package group>:<package name> to be restricted to certain packages). You can use * as wildcard value for package group. Alternatively you can use the suffix :subpackages to influence the settings for all sub packages only! The values are a complex object of type ValdidatorSettings. An example configuration looks like
 <jackrabbit-filter>
     <options>
         <severityForUncoveredAncestorNodes>error</severityForUncoveredAncestorNodes>
     </options>
 </jackrabbit-filter>

Parameter Details

<classifiers>

If given validates all attached artifacts with one of the given classifiers in addition
  • Type: java.util.List
  • Required: No

<dependencies>

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 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
  • Required: No
  • User Property: vault.dependencies

<enforceRecursiveSubpackageValidation>

If set to true always executes all validators also for all sub packages (recursively).
  • Type: boolean
  • Required: Yes
  • Default: false

<failOnDependencyErrors>

Deprecated. Use validatorsSettings with the following values instead
  <jackrabbit-dependencies>
      <defaultSeverity>debug</defaultSeverity>
  </jackrabbit-dependencies>
Controls if errors during dependency validation should fail the build.
  • Type: boolean
  • Required: Yes
  • User Property: vault.failOnDependencyErrors
  • Default: true

<failOnValidationWarnings>

If set to 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>

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.
  • Type: java.util.Collection
  • Required: No
  • User Property: vault.package.dependency.to.maven.ga

<packageFile>

The mainn package file to validate. By default will be the project's main artifact (in case a project is given)
  • Type: java.io.File
  • Required: Yes
  • User Property: vault.packageToValidate
  • Default: ${project.artifact.file}

<repositoryStructurePackages>

Defines the packages that define the repository structure. For the format description look at dependencies.

The repository-init feature of sling-start 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 any 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 repository init structure. On the other hand would filevault complain, if the package was listed as dependency but not installed in the repository. So therefore this repository-structure packages serve as indicator packages that helps satisfy the structural dependencies, but are not added as real dependencies to the package.

  • Type: java.util.Collection
  • Required: No
  • User Property: vault.repository.structure.packages

<skipSubPackageValidation>

If set to true will not validate any sub packages. This settings overwrites the parameter enforceRecursiveSubpackageValidation.
  • Type: boolean
  • Required: Yes
  • Default: false

<skipValidation>

(no description)
  • Type: boolean
  • Required: Yes
  • User Property: vault.skipValidation
  • Default: false

<validatorsSettings>

All validator settings in a map. The keys are the validator ids (optionally suffixed by :<package group>:<package name> to be restricted to certain packages). You can use * as wildcard value for package group. Alternatively you can use the suffix :subpackages to influence the settings for all sub packages only! The values are a complex object of type ValdidatorSettings. An example configuration looks like
 <jackrabbit-filter>
     <options>
         <severityForUncoveredAncestorNodes>error</severityForUncoveredAncestorNodes>
     </options>
 </jackrabbit-filter>
  • Type: java.util.Map
  • Required: No