The GitHub Actions job "CI" on grails-core.git/feat/gorm-registry-core-impl has 
failed.
Run started by GitHub user borinquenkid (triggered by borinquenkid).

Head commit for run:
f3a181f25dee81517469127e2a4ef9504e4fedd9 / Walter Duque de Estrada 
<[email protected]>
fix: restore null-tolerant service/datastore contracts in GormRegistry core

Repairs regressions introduced by this PR's GormRegistry O(M+N) refactor in
grails-datamapping-core. All four production fixes correct code this PR
introduced or rewrote:

- GormRegistry.registerEntity: always create the entity APIs via the
  GormApiFactory instead of falling back to the deprecated
  GormEnhancer.getStaticApi stub, which performs a registry lookup that
  returns null at registration time and left default-factory datastores with
  no registered APIs.
- GormEntity.staticPropertyMissing: resolve the static API directly and throw
  MissingPropertyException on null, rather than relying on catching an
  IllegalStateException from a dynamically dispatched currentGormStaticApi()
  call (which escaped the catch under invokedynamic). currentGormStaticApi /
  currentGormInstanceApi made private again to match the prior API surface.
- ServiceTransformation: generate getDatastore() to resolve via
  GormRegistry.getDatastore(domainClass), which returns null when GORM is not
  configured, restoring the null-tolerant contract the generated service
  infrastructure (validator factory, transaction manager) depends on.
- TransactionalTransform.hasTransactionalAnnotation: treat @NotTransactional
  as an explicit transactional decision so the read/write service
  implementers do not impose a default @ReadOnly/@Transactional, which
  otherwise wrapped @NotTransactional methods in a transaction template and
  forced transaction-manager resolution before method validation could run.

Tests updated to the new architecture: GormEnhancerAllQualifiersSpec rewritten
against GormRegistry; service specs adjusted for protected finder methods,
the removed datastore backing field on domain-targeted services, and the
trait-woven datastore accessors whose @Generated marker is managed by Groovy
trait weaving.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

Report URL: https://github.com/apache/grails-core/actions/runs/28312131719

With regards,
GitHub Actions via GitBox

Reply via email to