grails / grails-data-mapping

GORM - Groovy Object Mapping
http://gorm.grails.org/
218 stars 198 forks source link

javax to jakarta, groovy 4, spring framework 6 and spring boot 3 migrations #1810

Closed jamesfredley closed 3 months ago

jamesfredley commented 3 months ago

PR so that a 9.0.0-SNAPSHOT can be published and we can continue working on other grails dependencies while we work on the failing tests ignored on this PR. https://github.com/grails/grails-data-mapping/issues/1811

Key Changes and issues:

Groovy-5106 issues:

Tenants changes -

error: name clash: currentId(Class<? extends RxDatastoreClient>) in grails.gorm.rx.multitenancy.Tenants and currentId(Class<? extends Datastore>) in grails.gorm.multitenancy.Tenants have the same erasure, yet neither hides the other
public static  java.io.Serializable currentId(java.lang.Class<? extends org.grails.datastore.rx.RxDatastoreClient> datastoreClass) { return (java.io.Serializable)null;}
Tenants.java:11: error: name clash: <T#1>withCurrent(Class<? extends RxDatastoreClient>,Closure<T#1>) in grails.gorm.rx.multitenancy.Tenants and <T#2>withCurrent(Class<? extends Datastore>,Closure<T#2>) in grails.gorm.multitenancy.Tenants have the same erasure, yet neither hides the other
public static <T> T withCurrent(java.lang.Class<? extends org.grails.datastore.rx.RxDatastoreClient> datastoreClass, @groovy.lang.DelegatesTo(value=org.grails.datastore.rx.RxDatastoreClient.class) groovy.lang.Closure<T> callable) { return (T)null;}
                    ^
  where T#1,T#2 are type-variables:
    T#1 extends Object declared in method <T#1>withCurrent(Class<? extends RxDatastoreClient>,Closure<T#1>)
    T#2 extends Object declared in method <T#2>withCurrent(Class<? extends Datastore>,Closure<T#2>)

Annotation Metadata Reader

javax in Grails Package hierarchy and class name

CastExpression.asExpression(newReturnType, returnExpr)

The interface XXX cannot be implemented more than once with different arguments: java.util.Example<java.lang.Object> and java.util.Example<E>

More test failures:

matrei commented 3 months ago

Nice work 👍 For the failing groovy-joint-workflow, have a look at the adjustments made in https://github.com/grails/grails-core/blob/7.0.x/.github/workflows/groovy-joint-workflow.yml. (The setup of Develocity in the Groovy build has changed in GROOVY_4_0_X).

matrei commented 3 months ago

@jamesfredley Do you wanna merge this bad boy? Or is @codeconsole or @jdaugherty in the process of reviewing?

jdaugherty commented 3 months ago

@jamesfredley Do you wanna merge this bad boy? Or is @codeconsole or @jdaugherty in the process of reviewing?

I'm actually in the process of reviewing. I have been talking about some solutions to the multiple inheritance problem. Can this wait until Thursday's meeting?

matrei commented 3 months ago

@jamesfredley Do you wanna merge this bad boy? Or is @codeconsole or @jdaugherty in the process of reviewing?

I'm actually in the process of reviewing. I have been talking about some solutions to the multiple inheritance problem. Can this wait until Thursday's meeting?

@jdaugherty Excellent, no problem 👍

jdaugherty commented 3 months ago

Spoke to @jamesfredley and we want to go ahead and merge. My comments can be addressed separately.