GithubHelp home page GithubHelp logo

apache / sling-org-apache-sling-feature-analyser Goto Github PK

View Code? Open in Web Editor NEW
1.0 30.0 12.0 685 KB

Apache Sling Feature Model Analyser

Home Page: https://sling.apache.org/

License: Apache License 2.0

Java 99.93% Shell 0.07%
java sling osgi osgi-feature-model

sling-org-apache-sling-feature-analyser's Introduction

Apache Sling

Build Status Test Status Coverage Sonarcloud Status JavaDoc Maven Central feature License

Feature Model Analyser

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

Analyser Tasks

Below is a list of built-in analysers. Additional analysers in relation to Feature Model API Regions can be found in org-apache-sling-feature-extension-apiregions, analysers performing checks on class level can be found in org-apache-sling-feature-analyser-classes.

For further documentation see: Feature Model

apis-jar

This analyser task validates the metadata in the feature model for the apis-jar goal of the slingfeature-maven-plugin.

bundle-connect

Checks whether the feature is ready for OSGi connect. Bundle with embedded jars are not allowed and packages between bundles must not overlap.

bundle-content

Gives a warning if a bundle contains initial content specified with Sling-Initial-Content.

bundle-nativecode

Checks for native code instructions in bundles and errors if found.

bundle-packages

Checks bundle import/export package statements for completeness. Does not take API Regions into account. An expanded variant of this analyser is available in 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.

bundle-unversioned-packages

Checks bundle import/export package statements for missing version information.

check-unused-bundles

Checks for unused bundles, bundles with exports which are not imported.

compare-features

Compares the artifacts in the bundles sections or in an extension between two feature models.

This analyser requires additional configuration:

Configuration key Allowed values Description
compare-type ARTIFACTS The types of entities being compared. Currently only artifacts can be compared.
compare-with Maven ID, e.g. mygroup:myart:1.2.3 The golden feature to compare the features selected for the analyser with.
compare-extension extension name If this configuration is absent, the feature's bundles are compared. Otherwise the extensions with the specified name are compared. These extensions must be of type ARTIFACTS.
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.

content-packages-dependencies

Checks the dependencies between content packages.

content-packages-installables

Checks that content packages do not contain installables for the OSGi installer like bundles or configurations.

content-packages-paths

This analyser checks for allowed and denied paths inside content packages. This analyser requires additional configuration:

Configuration key Allowed values Description
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 content package must not match any of these - except it matches an include.

content-packages-validation

Runs the default filevault validators on the content packages.

Configuration key Allowed values Description
enabled-validators validator ids A comma separated list of validator-ids to enable
max-report-level severity level Maximum severity level to report. (INFO, WARN, ERROR) defaults to WARN. Higher level messages will be downgraded to the sepcified level. The default will never break a build.

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.

sling-org-apache-sling-feature-analyser's People

Contributors

anchela avatar bdelacretaz avatar bosschaert avatar cschneider avatar cziegeler avatar enapps-enorman avatar hboutemy avatar hsaginor avatar jlleitschuh avatar jsedding avatar karlpauls avatar klcodanr avatar kwin avatar raducotescu avatar rombert avatar simonetripodi avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.