Apache Sling Feature Model Runtime Creator

Clone this repo:
  1. c60ff19 SLING-10676 - remove SECURITY.md which is not needed by Bertrand Delacretaz · 29 hours ago master
  2. 2d6a0ca SLING-10676 - add or update SECURITY.md by Bertrand Delacretaz · 3 days ago
  3. 129462e SLING-10676 - add or update SECURITY.md by Bertrand Delacretaz · 3 days ago
  4. 6db9e8c SLING-10676 - add or update SECURITY.md by Bertrand Delacretaz · 3 days ago
  5. 28ab300 Adding sonarqube badges as per SLING-9682 by Dan Klco · 11 months ago

Apache Sling

Build Status Coverage Sonarcloud Status JavaDoc Maven Central feature License

Running Feature

This is a simple OSGi service which is able to convert, given a BundleContext instance, a currently running OSGi container to an Apache Sling Feature Model definition.

APIs are really simple: it is necessary first to obtain the RuntimeEnvironment2FeatureModel instance from the OSGi Service Registry, then

import org.apache.sling.feature.r2f.*;

@Reference
RuntimeEnvironment2FeatureModel generator;

...
Feature runtimeFeature = generator.getRunningFeature();

Please Note

Currently version will include in the generated Feature Model bundles and configurations only, which are the only informations that can be extracted from a BundleContext instance.

Launch Feature

The RuntimeEnvironment2FeatureModel OSGi service is also able to retrieve the (assembled) Feature used to launch the platform:

import org.apache.sling.feature.r2f.*;

@Reference
RuntimeEnvironment2FeatureModel generator;

...
Feature launchFeature = generator.getLaunchFeature();

## Upgrade Feature

The RuntimeEnvironment2FeatureModel OSGi service is also able to compute the upgrade Feature which prototypes from the Feature used to launch the platform and that targets the runtime Feature:

import org.apache.sling.feature.r2f.*;

@Reference
RuntimeEnvironment2FeatureModel generator;

...
Feature launchFeature = generator.getLaunch2RuntimeUpgradingFeature();

The effective Runtime Feature

Finally, the RuntimeEnvironment2FeatureModel OSGi service is also able to compute the real runtime Feature which is assembled from the Feature used to launch the platform and that targets the runtime Feature:

import org.apache.sling.feature.r2f.*;

@Reference
RuntimeEnvironment2FeatureModel generator;

...
Feature launchFeature = generator.getLaunch2RuntimeUpgradingFeature();