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

Reply via email to