Apache Sling Feature Converter Maven Plugin

Clone this repo:
  1. adeac11 SLING-12094 - Use GitHub for the Maven scm.url value by Robert Munteanu · 6 months ago master
  2. 266cb99 SLING-11709 - Set up Jira autolinks to all Sling Github projects by Robert Munteanu · 1 year, 1 month ago
  3. 3e70458 SLING-11152 : Use official OSGi Converter Implementation by Carsten Ziegeler · 2 years, 2 months ago
  4. 2c0109f SLING-11051 - Fixing JavaDoc badge by Dan Klco · 2 years, 3 months ago
  5. 0b84734 SLING-10676 - remove SECURITY.md which is not needed by Bertrand Delacretaz · 2 years, 9 months ago

Apache Sling

Build Status Test Status Coverage Sonarcloud Status JavaDoc Maven Central License

Apache Sling Feature Converter Maven Plugin

This module is part of the Apache Sling project.

This Apache Maven plugin provides the means to convert both Content Packages as well as Provisioning Models into Feature Models through a POM file.


This plugin is intended to convert:

  • Content Packages
  • Provisioning Models into Feature Models so that it can be used by the Sling Feature Maven Plugin to assemble and run.

This plugin is a wrapper for the Sling Feature Content Package Converter sling-org-apache-sling-feature-cpconverter and the Sling Feature Model Converter sling-org-apache-sling-feature-modelconveter to convert source files into Feature Models inside a POM.

This plugin is normally used to convert Sling into its Feature Model version and to convert Content Packages into Feature Models so that they can be handled by the Sling Feature Maven Plugin and eventually launched.

Supported goals

These Goals are support in this plugin:

  • convert-cp: Converts Content Packages into Feature Model files and its converted ZIP files
  • convert-pom: Converts Provisioning Models into Feature Models

See the Site documentation for further info.

Content Package Handling

The installation of Converted Content Packages has been difficult at times.

These are the things so far that should help making this easier:

  1. Make sure that you use the latest code base
  2. Make sure that during the launch:
    1. Sling Feature Extension Content is added first as Plugin Dependency (any extension should be added before the Launcher)
    2. Add Sling Feature Launcher as Plugin Dependency afterwards
    3. Make sure that the JCR Package Init is added as Feature (see Site Documentation Usage)
  3. After the Feature is up and running log into OSGi Console and check the OSGi Installer page to make sure there are no Untransformed Resources
  4. During development make sure that the Launcher folder is deleted periodically to avoid side effects from previous launches