commit | 80dc2d16ab2f49af05dc742704dfdf9c9f028c4a | [log] [tgz] |
---|---|---|
author | Karl Pauls <pauls@apache.org> | Tue Jun 11 14:41:57 2019 +0200 |
committer | GitHub <noreply@github.com> | Tue Jun 11 14:41:57 2019 +0200 |
tree | d0191f00ef506060806b3d2c1aa348e760faf35e | |
parent | 86f96727a0050f0b1f2b451af572d1f432a10691 [diff] | |
parent | 78519d83cb9f964689e9ef260e9b22f6628cccbd [diff] |
Merge pull request #1 from apache/issues/SLING-8421 SLING-8421: Allow artifact providers that work with URLs instead of F…
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.