Apache Sling RepoInit Parser

Clone this repo:
  1. 031cb0f SLING-10676 - remove SECURITY.md which is not needed by Bertrand Delacretaz · 3 days ago master
  2. 1881038 SLING-10676 - add or update SECURITY.md by Bertrand Delacretaz · 4 days ago
  3. 5be57f5 SLING-10676 - add or update SECURITY.md by Bertrand Delacretaz · 4 days ago
  4. fa35303 SLING-10676 - add or update SECURITY.md by Bertrand Delacretaz · 4 days ago
  5. 333b7a4 [maven-release-plugin] prepare for next development iteration by Bertrand Delacretaz · 7 weeks ago

Apache Sling

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

Apache Sling RepoInit Parser

This module is part of the Apache Sling project.

It implements the Repository Initialization language parser.

To parse repoinit statements use the RepoInitParser service.

The companion jcr-repoinit module can execute the resulting Operations on a JCR content repository.

The JavaCC parser grammar is defined in the RepoInitGrammar.jjt file, which has links to the JavaCC documentation.

Dependent modules

The Feature Model Analyser uses this parser to validate repoinit statements embedded in feature models. It should be kept up to date with new releases of this module.

The bnd.bnd file defines an org.apache.sling.repoinit.language OSGi capability which indicates the version of the repoinit language that this parser implements. That value should be incremented when the grammar changes, so that modules that depend on those changes can require the appropriate version.

Documenting the language

The Sling Website Repository Initialization page describes the general repoinit principles and is meant to show examples of all possible language constructs.

To this end, we maintain a test scenario that includes all those constructs as part of this module‘s unit tests, and slightly adapt that test’s repoinit script for the documentation page.

If adding new statements of options, please keep that test-99 in sync so that it reflects the full language syntax, and update the documentation page accordingly.