This repository stores and generates configurations for diff.groovy testing or regression-report.yml in the Checkstyle project.
- Navigate to the specific module directory you're interested in.
- Open the
README.mdfile in that directory. - Add a comment in the PR exactly as shown under "Trigger report generation by comment in Pull Request:" in the README.
This will trigger the regression testing using the generated configuration.
The project lists in extractor/src/main/resources/ (all-projects.*,
list-of-projects.* and their *-for-javadoc-checks variants) are the source of
truth for the list-of-projects.yml and list-of-projects.properties files
located in each Check directory. Those per-Check copies are generated by the
extractor and must never be edited by hand.
Important
After changing any project list (or other extractor configuration), run the
extractor exactly as CI does (see .github/workflows/ci.yml) and commit the
regenerated Check configs in the same PR as two separate commits:
- Functional commit - your actual change (for example, the project list or extractor configuration update). Only this commit is reviewed.
- Autogenerated commit - the regenerated Check configs produced by the
extractor, with a message such as
Update from extractor auto execution. This commit is too technical to review and is skipped by maintainers.
Do not mix hand-written and generated changes in one commit. See https://github.com/checkstyle/test-configs/pull/245/commits for an example.
To run the extractor:
./setup.sh
cd extractor
./gradlew clean build test run --args="../.ci-temp/checkstyle" --info --stacktrace --console=plain \
-Dorg.gradle.logging.level=DEBUG \
-Dtest.single=MainsLauncherTestOtherwise the "Check git changes" step of CI will fail, as it verifies that the committed Check configs match what the extractor generates.