Available Feature Extensions

The Feature Model is extensible, meaning that it can be augmented with custom content in a number of ways. Some extensions are supported out of the box. Other extensions are available through additional modules.

Built-in extension: content-packages

This extension of type ARTIFACTS allows listing content packages which will be installed by the launcher. Example:

"content-packages:ARTIFACTS|required":[
    "org.apache.sling.myapp:my-content-package:zip:1.0.0"
]

Built-in extension: repoinit

This extension is of type TEXT. It allows the specification of Sling Repository Initialization statements which will be executed on the repository at startup. Example:

"repoinit:TEXT|required":[
  "create path /content/example.com(mixin mix:referenceable)",
  "create path (nt:unstructured) /var"
]

As initializing the repository is usually important for Sling based applications the extension should be marked as required as in the example above.

Built-in extension: execution-environment

This extension is of type JSON and allows to specify the execution environment for a feature. Right now it only supports to set the artifact for the framework to launch the feature. The framework can either be specified as a string or a JSON object with an id property:

The execution environment - if provided - is used by tooling like the feature launcher or the feature analysers.

"execution-environment:JSON|optional" : {
  "framework" : {
    "id" : "org.apache.felix:org.apache.felix.framework:6.0.3"
  }
}

Further extensions