slachiewicz commented on issue #13302: URL: https://github.com/apache/maven/issues/13302#issuecomment-5915142764
### maven-build-cache-extension PR: apache/maven-build-cache-extension#544 (CI only). Status: **blocked**, 1.3.1-SNAPSHOT, no code change. Verified locally: `mvn verify` with Maven 4.0.0-rc-7, JDK 21 → 97 tests, 0 failures, 4 skipped. Smoke ITs not measured: `CoreExtensionTest` needs the extension installed in `target/local-repo`, which `verify` does not do. 31 `src/main` files use the Maven 3 API: `MavenProject` 22, `MavenSession` 16, `@SessionScoped` 11, `MojoExecution` 8. **Gaps** (rc-7 `maven-api-spi`, `maven-api-core`) - No SPI to skip or replace a mojo execution, which is how the cache restores a hit. `org.apache.maven.api.spi` has only the enum, language, lifecycle, model, packaging, scope, property and type providers. - `Listener.onEvent(Event)` observes `MOJO_*` events but cannot skip one; a port on it could save but never restore. - No lifecycle participant (`afterProjectsRead`, `afterSessionStart`, `afterSessionEnd`). - No mojo-parameter expression evaluator or plugin manager, which the cache uses to compare effective mojo parameters. - `MojosExecutionStrategy`, `MojoExecutionRunner`, `AbstractMavenLifecycleParticipant` exist only in `maven-core`. **Consumers that break:** none in the estate; users load it through `.mvn/extensions.xml`. **Recommendation:** do not port until the v4 SPI can skip or replace a mojo execution and hook project and session lifecycle; that is an API request for apache/maven. -- 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]
