gnodet opened a new pull request, #427: URL: https://github.com/apache/maven-install-plugin/pull/427
## Summary - Cache the `projectsUsingPlugin` list in the first reactor project's plugin context on first invocation - The list is invariant during a build — which projects have the install plugin configured does not change between module invocations - Reduces O(N²) to O(N) total for the reactor scan ## Problem `InstallMojo.execute()` computes `session.getProjects().stream().filter(this::usingPlugin).collect(toList())` on **every module invocation**. `usingPlugin()` calls `getPluginsAsMap()` for each project. In a 4383-module reactor, this produces ~19.2M filter evaluations (4383²). JFR profiling shows this pattern as **5.6% of total CPU time**, all in `PluginContainer.getPluginsAsMap()`. ## Test plan - [x] All 14 existing tests pass - [ ] Verify on a large multi-module reactor build 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
