Apache Sling RepoInit Parser

Clone this repo:
  1. bb6086c Tweak docs and links by Bertrand Delacretaz · 3 hours ago master
  2. 08dfdaa SLING-10299 - add tests to check for possible ambiguities by Bertrand Delacretaz · 22 hours ago
  3. 88baaa3 [maven-release-plugin] prepare for next development iteration by Carsten Ziegeler · 8 days ago
  4. 4583df9 [maven-release-plugin] prepare release org.apache.sling.repoinit.parser-1.6.8 by Carsten Ziegeler · 8 days ago org.apache.sling.repoinit.parser-1.6.8
  5. d11efee SLING-10333 - add support for 'disable user' by Bertrand Delacretaz · 9 days 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.