Fork me on GitHub

filevault-package:package

Full name:

org.apache.jackrabbit:filevault-package-maven-plugin:1.0.5-SNAPSHOT:package

Description:

Build a content package.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • Binds by default to the lifecycle phase: package.

Required Parameters

Name Type Since Description
<allowIndexDefinitions> boolean - Defines whether the package is allowed to contain index definitions. This will become the allowIndexDefinitions property of the properties.xml file.
Default value is: false.
User property is: vault.allowIndexDefinitions.
<excludes> String[] - 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 %regex[ and ], otherwise an Ant pattern.


Default value is: **/.vlt,**/.vltignore.
User property is: vault.excludes.
<failOnDuplicateEntries> boolean - Set to false to not fail the build in case of files/folders being added to the resulting package more than once. Usually this indicates overlapping with embedded files or overlapping filter rules.
Default value is: true.
User property is: vault.failOnDuplicateEntries.
<failOnUncoveredSourceFiles> boolean - Set to true to fail the build in case of files are being contained in the jcrRootSourceDirectory which are not covered by the filter rules and therefore would not end up in the package.
Default value is: false.
User property is: vault.failOnUncoveredSourceFiles.
<finalName> String - The name of the generated package ZIP file without the ".zip" file extension.
Default value is: ${project.build.finalName}.
User property is: vault.finalName.
<jcrRootSourceDirectory> File[] - 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[] - 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 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.


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.
<outputDirectory> File - Directory in which the built content package will be output.
Default value is: ${project.build.directory}.
<workDirectory> File - 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
<archive> MavenArchiveConfiguration - The archive configuration to use. See the documentation for Maven Archiver. All settings related to manifest are not relevant as this gets overwritten by the manifest in AbstractPackageMojo.workDirectory
<builtContentDirectory> File - The directory containing the content to be packaged up into the content package. This property is deprecated; use jcrRootSourceDirectory instead.
<packageType> PackageType - Defines the content package type. this is either 'application', 'content', 'container' or 'mixed'. If omitted, it is calculated automatically based on filter definitions. certain package types imply restrictions, for example, 'application' and 'content' packages are not allowed to contain sub packages or embedded bundles.
Possible values:
  • application: An application package consists purely of application content. It serializes entire subtrees with no inclusion or exclusion filters. it does not contain any subpackages nor OSGi configuration or bundles.
  • content: A content package consists only of content and user defined configuration. It usually serializes entire subtrees but can contain inclusion or exclusion filters. it does not contain any subpackages nor OSGi configuration or bundles.
  • container: A container package only contains sub packages and OSGi configuration and bundles. The container package is only used as container for deployment.
  • mixed: Catch all type for a combination of the above.

User property is: vault.packageType.
<prefix> String - Adds a path prefix to all resources useful for shallower source trees. This does not apply to files in workDirectory.
User property is: vault.prefix.

Parameter Details

<allowIndexDefinitions>

Defines whether the package is allowed to contain index definitions. This will become the allowIndexDefinitions property of the properties.xml file.
  • Type: boolean
  • Required: Yes
  • User Property: vault.allowIndexDefinitions
  • Default: false

<archive>

The archive configuration to use. See the documentation for Maven Archiver. All settings related to manifest are not relevant as this gets overwritten by the manifest in AbstractPackageMojo.workDirectory
  • Type: org.apache.maven.archiver.MavenArchiveConfiguration
  • Required: No

<builtContentDirectory>

The directory containing the content to be packaged up into the content package. This property is deprecated; use jcrRootSourceDirectory instead.
  • Type: java.io.File
  • Required: No

<excludes>

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 %regex[ and ], otherwise an Ant pattern.

  • Type: java.lang.String[]
  • Required: Yes
  • User Property: vault.excludes
  • Default: **/.vlt,**/.vltignore

<failOnDuplicateEntries>

Set to false to not fail the build in case of files/folders being added to the resulting package more than once. Usually this indicates overlapping with embedded files or overlapping filter rules.
  • Type: boolean
  • Required: Yes
  • User Property: vault.failOnDuplicateEntries
  • Default: true

<failOnUncoveredSourceFiles>

Set to true to fail the build in case of files are being contained in the jcrRootSourceDirectory which are not covered by the filter rules and therefore would not end up in the package.
  • Type: boolean
  • Required: Yes
  • User Property: vault.failOnUncoveredSourceFiles
  • Default: false

<finalName>

The name of the generated package ZIP file without the ".zip" file extension.
  • Type: java.lang.String
  • Required: Yes
  • User Property: vault.finalName
  • Default: ${project.build.finalName}

<jcrRootSourceDirectory>

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.
  • Type: java.io.File[]
  • 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}

<metaInfVaultDirectory>

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 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[]
  • 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

<outputDirectory>

Directory in which the built content package will be output.
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.directory}

<packageType>

Defines the content package type. this is either 'application', 'content', 'container' or 'mixed'. If omitted, it is calculated automatically based on filter definitions. certain package types imply restrictions, for example, 'application' and 'content' packages are not allowed to contain sub packages or embedded bundles.
Possible values:
  • application: An application package consists purely of application content. It serializes entire subtrees with no inclusion or exclusion filters. it does not contain any subpackages nor OSGi configuration or bundles.
  • content: A content package consists only of content and user defined configuration. It usually serializes entire subtrees but can contain inclusion or exclusion filters. it does not contain any subpackages nor OSGi configuration or bundles.
  • container: A container package only contains sub packages and OSGi configuration and bundles. The container package is only used as container for deployment.
  • mixed: Catch all type for a combination of the above.
  • Type: org.apache.jackrabbit.vault.packaging.PackageType
  • Required: No
  • User Property: vault.packageType

<prefix>

Adds a path prefix to all resources useful for shallower source trees. This does not apply to files in workDirectory.
  • Type: java.lang.String
  • Required: No
  • User Property: vault.prefix

<workDirectory>

The directory containing the metadata to be packaged up into the content package. Basically containing all files/folders being generated by goal "generate-metadata".
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.directory}/vault-work