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.
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.
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.