Apache Sling Feature Launcher

Clone this repo:
  1. bb9c211 SLING-12565 ignore spotless code reformatting commit in git blame by Stefan Seifert · 20 hours ago master
  2. bd95126 SLING-12565 build only with java 17 - security manager is deprecated in java 21 by Stefan Seifert · 20 hours ago
  3. ea8a881 SLING-12566 apply spotless formatting by Stefan Seifert · 20 hours ago
  4. 722aa8e SLING-12565 Update to parent 62 by Stefan Seifert · 20 hours ago
  5. a2c29fe SLING-12459 - Redirect sonarcloud notifications to commits@apache.sling.org by Robert Munteanu · 7 weeks ago

Apache Sling

Build Status Test Status Coverage Sonarcloud Status JavaDoc Maven Central feature License

Feature Model Launcher

The Feature Model Launcher can launch an feature model application file to a running process.

The launcher can be executed as follows:

java org.apache.sling.feature.launcher.impl.Main

or via the Java Main class of the jar file:

java -jar org.apache.sling.feature.launcher.jar

The following command line options are supported:

java -jar org.apache.sling.feature.launcher.jar -h
usage: launcher
 -C <arg>    Set artifact clash override
 -CC <arg>   Set config clash override
 -c <arg>    Set cache dir
 -D <arg>    Set framework properties
 -f <arg>    Set feature files (relative and absolute file path or URL including classloader resources)
 -i <arg>    Set the id for the launch feature
 -p <arg>    Set home dir
 -u <arg>    Set repository url
 -V <arg>    Set variable value
 -ec <arg>   Set Extension Configuration (format: extensionName:key1=val1,key2=val2)
 -fv <arg>   Set Felix Framework version
 -fa <arg>   Set Framework Artifact (overrides felix framework version)
 -v          Verbose

Cache

The launcher creates a local cache, by default in a subdirectory called launcher. If you want to run the launcher with a clean start, delete this directory before invoking the launcher.

rm -rf launcher && java -jar org.apache.sling.feature.launcher.jar -h

Feature Files as Classloader Resources

Note: if feature files are provided as a Classloader Resource like in an executable JAR file or classpath resource then it's Resource URL can be handed over to the Launcher as feature file (-f option):

java.net.URL url = getClass().getResource("/my-feature-file.json");
String[] arguments = new String[] {
    "-f", url.toString()
};
org.apache.sling.feature.launcher.impl.Main.main(arguments);

References

For further documentation see: https://github.com/apache/sling-org-apache-sling-feature/blob/master/readme.md