commit | e87cf0f1b578acff858e809b1f4ba9d20ded74d0 | [log] [tgz] |
---|---|---|
author | David Bosschaert <bosschae@adobe.com> | Tue Feb 12 09:46:42 2019 +0000 |
committer | David Bosschaert <bosschae@adobe.com> | Tue Feb 12 09:46:42 2019 +0000 |
tree | 87a7e730fdd8bfd6f73c220df9c7cb667674243d | |
parent | 3632b86676398b7e4a454347bb94080347eacf6e [diff] |
Ensure the order of the regions in the features.properties The regions listed in features.properties should be in the same order as the order in which they are declared in the feature file.
This component contains extensions relating to the API Regions component. The following extensions are registered via the ServiceLoader mechanism:
org.apache.sling.feature.builder.MergeHandler
Merge handlers are called when features are merged during the aggregation process.
APIRegionMergeHandler
- This handler knows how to merge API Regions extensions and adds the org-feature
key to the api-regions
sections to record what feature this section originally belonged.
org.apache.sling.feature.builder.PostProcessHandler
PostProcessHandlers are called when a feature contains an api-regions
section.
BundleMappingHandler
- This handler creates a mapping file idbsnver.properties
that maps the Artifact ID to a bundle symbolic name and version. A tilde ~
is used in the value of the map to separate BSN and version.
BundleArtifactFeatureHandler
- This handler creates 3 mapping files:
bundles.properties
: maps bundles to the original feature they were in. A bundle could be from more then one feature.features.properties
: maps features to regions. A feature can be in more than one region.regions.properties
: maps regions to packages. A region can expose more than one package.The location of the files created by the BundleArtifactFeatureHandler
handler is stored in a system property with name sling.feature.apiregions.resource.
+ filename. So to obtain the file name of the bundles.properties
file, make the following call:
System.getProperty("sling.feature.apiregions.resource.bundles.properties")
These properties are read by the https://github.com/apache/sling-org-apache-sling-feature-apiregions component for runtime enforcement of the API Regions.