Apache Sling Feature Model - Unpack Extension

Clone this repo:
  1. 338da98 [maven-release-plugin] prepare for next development iteration by Carsten Ziegeler · 5 months ago master
  2. 96d21fb [maven-release-plugin] prepare release org.apache.sling.feature.extension.unpack-0.4.0 by Carsten Ziegeler · 5 months ago org.apache.sling.feature.extension.unpack-0.4.0
  3. 5567465 Prepare for release by Carsten Ziegeler · 5 months ago
  4. f316fa5 Merge pull request #5 from apache/SLING-12232 by Carsten Ziegeler · 5 months ago
  5. 9a82546 Sleep for a seconds between retries by David Bosschaert · 5 months ago

Apache Sling

Build Status JavaDoc Maven Central feature License

The jar can be used in the following ways:

Feature model launcher extension

When added to the classpath of the feature launcher it will unzip extensions according to a framework property (see below).

OSGi installer extension

When installed as a bundle into sling, it will act as a extension to the OSGi installer and handle zip files that get installed as well as extensions in feature models that get installed (both, again, according to a framework property).


When invoked on the commandline, there is a converter main class that can be used to wrap a list of urls into a feature with an extension.

It looks like this:

java -cp ${HOME}/.m2/repository/org/apache/sling/org.apache.sling.commons.johnzon/1.2.2/org.apache.sling.commons.johnzon-1.2.2.jar:${HOME}/.m2/repository/org/apache/sling/org.apache.sling.feature/1.2.6/org.apache.sling.feature-1.2.6.jar:target/org.apache.sling.feature.extension.unpack-0.1.0-SNAPSHOT.jar \
 org.apache.sling.feature.extension.unpack.impl.converter.Converter \
 <mvn-id-of-resulting-feature> \
 <name-of-extension-in-feature> \
 <path-to-resulting-feature-file> \
 <path-to-mvn-repository-to-store-artifacts> \
 key=<optional-key-for-manifest> \
 <space separated list of urls>

Alternatively, there is an assembly provided.


The framework property org.apache.sling.feature.unpack.extensions can be used to give an OSGi header clause configuring which extensions to unzip, to which dir, and with what required manifest header.

It looks like this: