Awesome
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