jdaugherty commented on PR #15995: URL: https://github.com/apache/grails-core/pull/15995#issuecomment-5804670356
Reviewed the branch against current `8.0.x` and pushed two follow-up commits (a merge of `8.0.x` plus a fix) so this can go in. **What was wrong** - The log level is already back at ERROR from the earlier feedback, and that stays. Both new spec features failed once merged with `8.0.x`, though: they captured `System.err` expecting slf4j-simple output, but `DefaultPluginDiscovery` logging now goes through logback on the base branch, so the capture saw nothing (`errors.size() == 1` failed with `[]`, and the second feature hit an NPE on a null line). - The `is still pending load` branch hid the real cause. A plugin only fails while a same-named dependency is still delayed when that delayed candidate does not satisfy the version constraint (`isDependentOn` checks name and version before re-queuing). So the message reported the dependency as merely pending, when the actual problem was the version. **What changed** - Rewrote both features on the existing `LogCapture` test fixture and assert on `Level.ERROR` plus the formatted message, matching the neighbouring duplicate-registration test. - `isDelayed(name)` became `findDelayedPlugin(name)`, and the message now reads `dependency [x] with required version [2.0.0] is still pending load and only version [1.0.0] was found`. Added a feature that drives that path (dependent processed before its too-old, still-delayed dependency gives up). **Verification** - `:grails-core:test` full module: 657 tests, 0 failures - `:grails-core:codeStyle` clean -- 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]
