The GitHub Actions job "CI" on grails-core.git/feat/8.0.x-legacy-command-compat has failed. Run started by GitHub user jamesfredley (triggered by jamesfredley).
Head commit for run: 7b53bcc56b019b7d6d441e2edee52e75989e03c4 / James Fredley <[email protected]> Harden legacy command provider: single name resolution and loud linkage failures Address non-blocking review feedback on the Grails 7 command compatibility layer: - Resolve a contributed command's name exactly once. ApplicationCommandRegistrar now returns the installed command name (or null when the name is already registered) instead of a boolean, so LegacyApplicationCommandProvider no longer reads command.name a second time for the deprecation warning - a stateful or second-call-throwing legacy getter can no longer be installed without emitting the promised warning. - Surface binary-incompatible legacy plugins loudly. LegacyApplicationCommandProvider now catches LinkageError separately and logs it at error level naming the command class (a trait-woven Grails 7 binary that does not link against the restored contract), while still isolating the failure so other commands continue to load. Reflective construction wraps constructor throwables in InvocationTargetException, so linkage failures thrown from a constructor are unwrapped and classified correctly. - Add regression tests: single name resolution under a throwing getter, the linkage-failure error path, and class-identity deduplication of providers discovered through both the registry and context class loaders. Assisted-by: claude-code:claude-opus-4-8 Report URL: https://github.com/apache/grails-core/actions/runs/29695638428 With regards, GitHub Actions via GitBox
