Problem

Since October 2017, the Apache Jackrabbit project provides an open source implementation of a content package plugin, the Jackrabbit FileVault Package Maven Plugin. This is a successor of the Adobe Content Package Maven plugin (but only of the part for building content packages, omitting the goals for interacting with the package manager HTTP interface).

It is recommended to start new projects only with the Jackrabbit FileVault Package Maven Plugin, and migrate existing projects that use the Adobe Content Package Maven Plugin or the wcm.io Content Package Maven Plugin to this. In both cases this is mainly a drop-in replacement.

This guide documents some special treatments that may be required when migrating a content package Maven project from wcm.io Content Package Maven Plugin to Jackrabbit FileVault Package Maven Plugin.

Solution

Switch plugin definition

In case you have it in you pom you can also remove this definition - the Jackrabbit filevault-package-maven-plugin automatically detectes the jcr_root folder now without this:

<!-- REMOVE THIS - it's no longer required: -->
<resources>
  <resource>
    <directory>jcr_root</directory>
  </resource>
</resources>

Switch to embeddeds for "complete" packages

In most wcm.io-style projects we used a combination of maven-dependency-plugin and two properties dependency-includeGroupIds and dependency-includeArtifactIds to define the list of bundles (defined as maven dependencies) that should be included in the package. This can now be simplified using the embeddeds feature. The migration is optional - this old style also works with filevault-package-maven-plugin. If you want to migrate, follow these steps:

Configuration property compatibility

Nearly all plugin parameters that are supported by wcm.io Content Package Maven Plugin are also supported by Jackrabbit FileVault Package Maven Plugin. Except these:

The new default values for filterSource and thumbnailImage are different than those used by the wcm.io plugin. If you relied on the old ones you have to update your project. The new values are better compatible with AEM/Sling IDE integration for Eclipse.

Related articles



Related issues