The GitHub Actions job "Coverage" on 
grails-intellij-plugin.git/feature/community-edition-support has failed.
Run started by GitHub user amondel2 (triggered by amondel2).

Head commit for run:
ce2962c633498aa7754c4754b6f813b296d74c86 / aaron <[email protected]>
Stop swallowing IntelliJ control-flow exceptions in broad catch blocks

ProcessCanceledException extends CancellationException, so it is a plain
RuntimeException: every catch(RuntimeException) and catch(Throwable) written to
protect an optional code path also captures a cooperative cancellation, logs it
and answers with a fallback. The platform reports a logged 
ProcessCanceledException
back as a plugin error, so a cancelled scan looks like a broken one.

ControlFlowGuard is the one place that recognises ControlFlowException, a marker
interface, so the test covers more than ProcessCanceledException alone, and it
re-throws unchanged and never wrapped. Apply it where a cancellation is actually
reachable: the Grails application provider scan, whose only caller runs inside
ReadAction.nonBlocking; the Grails console onDone handler; the reflective
provider construction in named-argument reference resolution, where the JVM
delivers the cancellation inside an InvocationTargetException; and
UltimatePluginGuard's reflective reads.

Each guard goes after the state its catch block owns. GrailsConsole released
myExecuting and drained the process queue after the catch rather than in a
finally, so a propagated cancellation left the console permanently marked busy
and every later command queued behind a queue nothing drained. GrailsConsoleTest
covers that and fails without the finally.

Deliberately not applied everywhere: ensureScriptExists,
MvcPluginUtil.parsePluginList, setProxyOld and GrailsModuleBuilder.setupModule 
do
no cancellable work, and a guard there is noise that teaches the next reader to
paste it everywhere.

Two smaller corrections ride along. The Grails application provider logs are now
terse: their actionable copy and issues URL only ever reached idea.log, 
addressed
to a user who never sees them. And ControlFlowGuard.unwrapControlFlow had no
caller, so it is gone rather than waiting for one.

The gradle.properties and plugin/build.gradle comments that pointed into tasks/
now stand alone, since a fresh checkout of this repository has no such 
directory.
AGENTS.md's stale test counts are corrected against a full run, along with the
claim that test.idea.home.path lives in gradle.properties, which it does not.

Report URL: 
https://github.com/apache/grails-intellij-plugin/actions/runs/36378011896

With regards,
GitHub Actions via GitBox

Reply via email to