ikxeno opened a new pull request, #13602: URL: https://github.com/apache/maven/pull/13602
Fixes #10184. Maven DI honors the `sisu.debug` system property and prints sorted native bindings to stdout without creating components or invoking providers. Snapshots run after discovery and at lookup/injection checkpoints for changed registrations, including late Mojo context and core-extension bindings. Each binding is described once per snapshot, preserving all aliases and candidates. Final block assembly and output run outside the diagnostic lock. With bounded row lengths and dependency lists: `O(N log N + L)` time, `O(N + L)` temporary space (`N` rows, `L` output characters). Unchanged checkpoints and retained diagnostic state are `O(1)` in registry size. Local JMH on macOS/JDK 17, replaying real Maven registration batches with eight JVM forks per scenario: | Rows per snapshot | ms/lifecycle (95% CI) | MB allocated/lifecycle | | --- | ---: | ---: | | Core: 749 rows | 0.321 [0.318, 0.325] | 2.75 | | Mojo: 27, 129 rows | 0.0558 [0.0526, 0.0591] | 0.420 | | Native extensions: 749, 757, 765 rows | 0.865 [0.852, 0.879] | 7.83 | Registration replay and full text rendering are timed; binding discovery and console I/O are excluded. CIs use independent fork means; MB is decimal. - [x] I hereby declare this contribution to be licensed under the [Apache License Version 2.0, January 2004](https://www.apache.org/licenses/LICENSE-2.0) -- 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]
