About Content Package Maven Plugin
Upload and download content packages.
This Maven Plugin is an alternative to the Content Package Maven Plugin from Adobe.
- Uploading and installing content packages via CRX package manager or Sling Launchpad with Composum console
- Downloading and extracting content packages via CRX package manager or Sling Launchpad with Composum console
- Building content packages (deprecated)
The wcm.io Content Package Maven plugin aims for compatibility in goal and property names and behavior with the Adobe plugin, so for a lot of use cases it can be used as drop-in replacement. However some goals and features are missing. See this wiki page for a comparison.
Compared to the Adobe plugin the
install supports more parameters, and is much more sophisticated and failure tolerant when uploading packages. It tries to catch all types of possible problems (e.g. AEM instance not available for some seconds) and retries the upload for a certain amount of time until it succeeds.
Additional features of the
install goal compared to the Adobe plugin:
forceproperty - if set to false a package is not uploaded or installed if it was already uploaded before.
recursiveproperty - if set to true nested packages get installed as well.
packageFilesproperty - allows installing multiple package files referenced from local filesystem or from maven repository at once.
bundleStatusURL- allows to check for bundle activation status before installing a package to avoid failed package deployments if the previous packages contained OSGi bundles that need some time to get installed properly.
If you only want to manage your
content-package Maven project to install the content stored in the build artifact of the current project you can use the Adobe plugin.
The Adobe plugin has several limitations defining which package to download via the download goal. Basically it works only if only one version of the package is installed, and when the path to this package is specified directly and not via the artifact properties.
wcmio-content-package-maven-plugin takes another strategy to download a package that was uploaded before. It first starts an upload of the package (without installing it). If it already exists CRX responds with the path to this package - this path is used to build the package and download it. Thus the latest package filter options from the local POM are used as well. This strategy is targeted only on
content-package Maven projects, not for downloading arbitrary packages.
download goal supports compared to the Adobe plugin:
- Unpacking the content package after download.
- Exclude files, nodes and properties from the unpacked content via pattern lists.
package goal of this plugin is deprecated. You should use the Jackrabbit FileVault Package Maven Plugin instead.
This migration guide lists the migration steps.