Summary of changes:
- Configure Renovate to update AssertJ and fmt-maven-plugin version
references in patch files and shell scripts any time those
dependencies are updated in the top-level `pom.xml`.
- Enhance the `--sync` flag such that it also updates the initial patch
file, avoiding drift due to line shifts.
Summary of changes:
- Move Checkstyle-specific build parameters out of
`run-integration-test.sh`.
- Build with `-Dmaven.compiler.failOnError=true` to compensate for
`<failOnError>false</failOnError>` configured by the enabled Maven
profiles.
- Tweak `XdocGenerator.java` logic prior to integration test execution,
to work around a subtle semantic difference introduced by the
`FilesCreateTempFileToFile` Refaster rule.
- Document this difference on the relevant Refaster rules.
- To aid debugging, run Maven commands with `set -x`, such that the
exact command executed is logged.
- Update the patch file containing the expected changes.
This new script contains reusable logic extracted from
`integration-tests/checkstyle.sh`, facilitating the introduction of additional
integration tests.
Summary of changes:
- Update the set of expected changes for compatibility with the latest
features, except for the `ErrorProneRuntimeClasspath` check.
- Test against version 10.12.7 rather than 10.13.0.
- Omit the targeted tag from file names, so that similar upgrade PRs can be
tested using an `/integration-test` GitHub comment.
The new `integration-tests/checkstyle-10.12.4.sh` script can be executed
locally or by adding a comment containing the string `/integration-test`
to a pull request.
The integration test comprises a shell script that:
1. Checks out a Checkstyle release tag.
2. Applies a small patch to enable Error Prone Support.
3. Runs the build in Error Prone patch mode, until no further changes
are applied.
4. Validates that:
- The build (including tests) still passes.
- The set of changes matches a pre-recorded diff.
- The set of Error Prone Support-emitted warnings matches a
pre-recorded list.
The script also has a `--sync` mode using which the expected diff and
warnings can be updated. Combined, the script makes it easy to assess
and track the impact of changes to Error Prone Support in relation to
the Checkstyle code base.
Over time this setup will be generalized to include integration tests
against other code bases.