This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-analyser.git
The following commit(s) were added to refs/heads/master by this push:
new 07f60db Document all analysers
07f60db is described below
commit 07f60db46ea446121f63b27c22b8c00150c0f163
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Sun Aug 1 09:58:18 2021 +0200
Document all analysers
---
readme.md | 78 +++++++++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 56 insertions(+), 22 deletions(-)
diff --git a/readme.md b/readme.md
index 36f0001..1c89641 100644
--- a/readme.md
+++ b/readme.md
@@ -4,43 +4,57 @@
# Feature Model Analyser
-The Analyser can analyse features for completeness and correctness. The
analyser is pluggable and can also perform other checks.
+The Analyser can analyse features for completeness and correctness. The
analyser is pluggable and can perform custom checks.
+
+## Running the Analyser as a Maven Plugin
+
+The Analyser can also be run as part of a Maven build via the
[slingfeature-maven-plugin](https://github.com/apache/sling-slingfeature-maven-plugin)
+
+## Running the Analyser from the Commandlien
The analyser can be run from the commandline by running the following main
class:
-```
+```bash
java org.apache.sling.feature.analyser.main.Main
```
-# Feature Model Analyser as a Maven Plugin
+# Analyser Tasks
-The Analyser can also be run as part of a maven build via the
[slingfeature-maven-plugin](https://github.com/apache/sling-slingfeature-maven-plugin)
+Below is a list of built-in analysers. Additional analysers in relation to
Feature Model API Regions can be found here:
[org-apache-sling-feature-extension-apiregions](https://github.com/apache/sling-org-apache-sling-feature-extension-apiregions)
-The following analysers are defined:
+For further documentation see: [Feature
Model](https://github.com/apache/sling-org-apache-sling-feature/blob/master/readme.md)
-* `bundle-packages`: Checks bundle import/export package statements for
consistency and completeness. Does _not_ take API Regions into account. An
expanded variant of this analyser is available in
[org-apache-sling-feature-extension-apiregions](https://github.com/apache/sling-org-apache-sling-feature-extension-apiregions)
under the name `api-regions-exportsimports`.
+## `apis-jar`
-* `bundle-content`: Gives a warning if a bundle container initial content
specified with `Sling-Initial-Content`.
+This analyser task validates the metadata in the feature model for the
`apis-jar` goal of the
[slingfeature-maven-plugin](https://github.com/apache/sling-slingfeature-maven-plugin).
-* `bundle-resources`: Gives a warning if a bundle contains resources specified
with `Sling-Bundle-Resources`.
+## `bundle-connect`
-* `compare-features`: Compares the artifacts in the bundles sections or in an
extension between two feature models. For more information see
[below](#compare-features).
+Checks whether the feature is ready for [OSGi
connect](http://docs.osgi.org/specification/osgi.core/8.0.0/framework.connect.html).
Bundle with embedded jars are not allowed and packages between bundles must
not overlap.
-* `requirements-capabilities`: Checks bundle requirements/capabilities for
consistency and completeness.
+## `bundle-content`
-* `apis-jar`: Validates that the entries related to Apis Jar are valid.
+Gives a warning if a bundle contains initial content specified with
`Sling-Initial-Content`.
-* `repoinit`: Checks the syntax of all repoinit sections.
+## `bundle-nativecode`
-* `feature-id`: Checks if the used feature id matches one of the given Maven
coordinates.
+Checks for native code instructions in bundles and errors if found.
-Additional analysers in relation to Feature Model API Regions can be found
here:
[org-apache-sling-feature-extension-apiregions](https://github.com/apache/sling-org-apache-sling-feature-extension-apiregions)
+## `bundle-packages`
-For further documentation see: [Feature
Model](https://github.com/apache/sling-org-apache-sling-feature/blob/master/readme.md)
+Checks bundle import/export package statements for consistency and
completeness. Does _not_ take API Regions into account. An expanded variant of
this analyser is available in
[org-apache-sling-feature-extension-apiregions](https://github.com/apache/sling-org-apache-sling-feature-extension-apiregions)
under the name `api-regions-exportsimports`.
+
+## `bundle-resources`
+
+Gives a warning if a bundle contains resources specified with
`Sling-Bundle-Resources`.
+
+## `check-unused-bundles`
+
+Checks for unused bundles, bundles with exports which are not imported.
## `compare-features`
-This analyser compares certain sections of two feature models.
+Compares the artifacts in the bundles sections or in an extension between two
feature models.
This analyser requires additional configuration:
@@ -52,15 +66,13 @@ This analyser requires additional configuration:
`compare-mode` | `SAME` or `DIFFERENT` | Whether the sections must be the same
or must be different. Defaults to `SAME`.
`compare-metadata` | `true` or `false` | Whether to include the artifact
metadata in the comparison. Defaults to `false`.
-## `feature-id`
+## `content-packages-dependencies`
-This analyser checks that the feature id matches one of the given accepted
feature ids. If it doesn't it will emit an error.
+Checks the dependencies between content packages.
-This analyser requires additional configuration:
+## `content-packages-installables`
- Configuration key | Allowed values | Description
- ----- | ----- | -----
-`accepted-feature-ids` | comma-separated list of Maven IDs | The Maven
ID/coordinates have the format
`groupId:artifactId[:packaging[:classifier]]:version`. Each item is either a
string which must be equal to the according item of the feature id, or a `*`
which acts as wildcard (i.e. everything matches).
+Checks that content packages do not contain installables for the OSGi
installer like bundles or configurations.
## `content-packages-paths`
@@ -70,3 +82,25 @@ This analyser checks for allowed and denied paths inside
content packages. This
----- | ----- | -----
`includes` | Content paths | A comma separated list of content paths. If this
is specified all content in the content package must match at least one of
these.
`excludes` | Content paths | A comma separated list of content paths. If this
is specified all content in the contant package must not match any of these.
+
+## `duplicate-symbolic-names`
+
+Checks if there are duplicates of symbolic names for bundles.
+
+## `feature-id`
+
+This analyser checks that the feature id matches one of the given accepted
feature ids. If it doesn't it will emit an error.
+
+This analyser requires additional configuration:
+
+ Configuration key | Allowed values | Description
+ ----- | ----- | -----
+`accepted-feature-ids` | comma-separated list of Maven IDs | The Maven
ID/coordinates have the format
`groupId:artifactId[:packaging[:classifier]]:version`. Each item is either a
string which must be equal to the according item of the feature id, or a `*`
which acts as wildcard (i.e. everything matches).
+
+## `repoinit`
+
+Checks the syntax of all repoinit sections.
+
+## `requirements-capabilities`
+
+Checks bundle requirements/capabilities for consistency and completeness.