-
-
Notifications
You must be signed in to change notification settings - Fork 952
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
compile grails-shell, grails-gradle-model and grails-bootstrap w/ Gradle Groovy version #13653
compile grails-shell, grails-gradle-model and grails-bootstrap w/ Gradle Groovy version #13653
Conversation
…provided by Gradle
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
grails-bootstrap was not changed due to Groovy XML package changes in 4.
Aren't the XML classes available in both groovy.util
and groovy.xml
in Groovy 3.
Are there other package changes that are incompatible?
PR updated to include grails-bootstap. I wasn't aware of the dual packaging for XML and must have been missing a dependency during the first attempt. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! However, there is another dependency on org.apache.groovy:groovy-xml
. Is that supposed to be left in?
grails-shell/build.gradle
Outdated
@@ -20,7 +27,7 @@ dependencies { | |||
api "org.fusesource.jansi:jansi:$jansiVersion" | |||
api "jline:jline:$jlineVersion" | |||
api "org.gradle:gradle-tooling-api:$gradleToolingApiVersion" | |||
compileOnly "org.apache.groovy:groovy-templates:$groovyVersion" | |||
|
|||
api "org.apache.groovy:groovy-xml:$groovyVersion" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about this one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I left this one as org.apache.groovy and 4.0.x since it was not for compilation and is needed by at least one project down the line that is running it with Groovy 4 (not grails-gradle-plugin)
We did the same on https://github.com/bertramdev/asset-pipeline/blob/5.0.x/asset-pipeline-core/build.gradle#L56-L74
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, but the one in asset-pipeline
is testImplementation
. This one is api
. Doesn't api
put it on the compileClasspath
?
Don't we also have to exclude these projects from the Groovy 3 -> Groovy 4 substitution in the root |
Related grails/grails-gradle-plugin#337 |
Dependency Insight now looks good for the 3 subprojects.
groovydocs required several changes, including moving where and how we set I've tested |
grails-core does not use grails-gradle-plugin during build so grails/grails-gradle-plugin#337 does not impact these changes. |
Reverts some changes that updated to Java 17 syntax `instanceof`. At the moment this breaks groovydoc generation with the message: Use of patterns with instanceof is not supported. Pay attention that this feature is supported starting from 'JAVA_14' language level. If you need that feature the language level must be configured in the configuration before parsing the source files. As these changes are purely cosmetic I'm find it better to revert them.
compile
grails-shell
,grails-gradle-model
andgrails-bootstrap
with the Groovy version provided by Gradle to ensure build compatibility with Gradle, currently Groovy 3.0.x see: https://docs.gradle.org/current/userguide/compatibility.html#groovyThis will prevent running into Groovy 4 vs 3 compatibility issues like: bertramdev/asset-pipeline#350, when Gradle executes the build using it's embedded Groovy Version, currently 3.0.22.
Matches changes on grails/grails-gradle-plugin#334