gnodet opened a new pull request, #1164: URL: https://github.com/apache/maven-compiler-plugin/pull/1164
## Summary Adds cross-module ABI manifest writing and external dependency resolution to enable incremental compilation across reactor modules. - **ABI manifest**: After compilation, writes a `abi-fingerprints` manifest listing every type and its ABI fingerprint. Downstream modules read this to detect upstream ABI changes without re-analyzing bytecode. - **External ABI resolver**: Three-strategy cascade (manifest → reactor metadata → bytecode fallback) for resolving external type fingerprints on the classpath. - **Cross-module invalidation**: During incremental builds, detects when upstream module ABI changed and recompiles affected consumers. - **JAR caching**: Reuses stored fingerprints for unchanged JARs (matched by size + mtime identity). This is step 3 of 4 splitting [PR #1157](https://github.com/apache/maven-compiler-plugin/pull/1157) per the [review comment](https://github.com/apache/maven-compiler-plugin/pull/1144#issuecomment-5984536369). Builds on [PR #1163](https://github.com/apache/maven-compiler-plugin/pull/1163) (intra-module ABI). ## Test plan - [x] Unit tests: `AbiManifestTest` (7 tests), `ExternalAbiResolverTest` (6 tests, 3 require JDK 24+), `GraphIncrementalBuildTest` (3 new cross-module tests) - [x] Integration tests: `abi-incremental-basic`, `abi-incremental-cascade` - [x] Full build passes (`mvn clean verify -B`) 🤖 Generated with [Claude Code](https://claude.com/claude-code) _Claude Code on behalf of Guillaume Nodet_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
