amondel2 opened a new pull request, #428:
URL: https://github.com/apache/grails-intellij-plugin/pull/428

   IntelliJ's cooperative cancellation depends on ProcessCanceledException 
propagating, but it is a RuntimeException — so the broad catch blocks guarding 
optional code paths were absorbing it, logging a cancelled read or resolve as a 
genuine failure and answering with a degraded result instead of unwinding. This 
adds ControlFlowGuard, which re-throws control-flow exceptions unchanged, 
including when one arrives wrapped in an InvocationTargetException from a 
reflective call, and applies it at the five sites that could otherwise swallow 
one: the Grails console (both the command-failure and normal-exit paths), the 
named-argument reference provider, and the application-provider scan. The same 
change hardens the two places where a partial failure was fatal rather than 
degradable — a single throwing applicationProvider extension no longer aborts 
Grails project detection for the whole project, since each provider is now 
isolated and the remaining ones are still tried, and the console's 
 myExecuting release moved into a finally so a throw from its onDone callback 
can no longer leave the console permanently busy with every later command 
queued behind nothing. Both fixes are independent of the content-module 
architecture and are covered by 30 new tests.


-- 
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