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]

Reply via email to