You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by da...@apache.org on 2020/02/21 13:32:37 UTC

[sling-org-apache-sling-feature-extension-apiregions] branch master updated: Updated README.md

This is an automated email from the ASF dual-hosted git repository.

davidb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-extension-apiregions.git


The following commit(s) were added to refs/heads/master by this push:
     new 9ea872a  Updated README.md
9ea872a is described below

commit 9ea872a7894d5a30d03778110a5c36c77bbef869
Author: David Bosschaert <bo...@adobe.com>
AuthorDate: Fri Feb 21 13:32:23 2020 +0000

    Updated README.md
---
 README.md | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/README.md b/README.md
index 154f9fc..3dffa02 100644
--- a/README.md
+++ b/README.md
@@ -13,3 +13,35 @@ The following extensions are registered via the ServiceLoader mechanism:
 Merge handlers are called when features are merged during the aggregation process.
 
 `APIRegionMergeHandler` - This handler knows how to merge API Regions extensions
+
+# Feature Model Analysers
+
+This component also contains Feature Model Analysers they are contributed through the Service Loader mechanism to the set of Analysers.
+
+These analysers relate to API Region definitions in Feature Models. 
+
+* `api-regions`: This analyser ensures that packages listed as exports in API-Regions sections are actually exported by a bundle that's part of the feature.
+
+* `api-regions-dependencies`: This analyser checks that packages in API regions listed earlier in the API-Regions declaration have no dependency on API regions listed later in the list. This include `Import-Package` style dependencies and also uses-clause type dependencies. Later API regions also include packages from earlier declared API regions, but not the other way around.
+  * Configuration parameters:
+  * `exporting-apis`: the name of the region that provides the visible APIs.
+  * `hiding-apis`: the name of the region that is 'hidden' i.e. not as visible as the exporting one. The
+packages in the `exporting-api` cannot depend on any packages from this region. 
+
+* `api-regions-duplicates`: This analyser ensures that packages are only listed in one region
+in a given feature. If the same package is listed in multiple regions this will be an error.
+
+* `api-regions-check-order`: This analyser checks that regions are defined in the specified 
+order and that the same region is only declared once. Later regions inherit the packages
+expose in earlier regions in the list, so the order is important.
+  * Configuration parameters:
+  * `order`: A comma separated list of the region names declaring the order in which they should be found. Not all regions declared must be present, but if they are present this
+order must be obeyed.
+
+# Additional Extensions
+
+The following extensions are also implemented by this component and made available through the Service Loader mechanism:
+
+* org.apache.sling.feature.launcher.spi.extensions.ExtensionHandler
+* org.apache.sling.feature.launcher.spi.Launcher
+* org.apache.sling.feature.scanner.spi.ExtensionScanner