Skip to content

Commit 90b786b

Browse files
authored
Merge branch '7.0.x' into renovate/jackson.version
2 parents 1c3a970 + e2c12e5 commit 90b786b

File tree

32 files changed

+651
-365
lines changed

32 files changed

+651
-365
lines changed

CONTRIBUTING.md

Lines changed: 245 additions & 0 deletions
Large diffs are not rendered by default.

UPGRADE7.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Common 7.0 Upgrade Gotchas - DRAFT -
2+
3+
Experienced while upgrading modules for Grails 7
4+
5+
- h2 2.x is stricter about reserved words
6+
- https://github.com/grails/gorm-hibernate5/pull/910/commits/c8de45df204966ccc228b46b94beeb2142ae0f59
7+
- [GROOVY-10621](https://issues.apache.org/jira/browse/GROOVY-10621)
8+
- Primitive booleans will no longer generate the form of isProperty & getProperty. They will only generate isProperty()
9+
- Jar artifacts produced by Grails Plugins will no longer have the suffix `-plain`
10+
- https://github.com/grails/grails-gradle-plugin/pull/347
11+
- [GROOVY-5169](https://issues.apache.org/jira/browse/GROOVY-5169) [GROOVY-10449](https://issues.apache.org/jira/browse/GROOVY-10449)
12+
- Fields with a public modifier were not returned with MetaClassImpl#getProperties() in groovy 3, but are now.
13+
14+
## NOTE: This document is a draft and the explanations are only highlights and will be expanded further prior to release of 7.0.
15+
16+
### Cool New Features
17+
- You can now @Scaffold Controllers and Services and virtually eliminate any boiler plate code.
18+
- Hello Exterminator, Good by bugs! Lot's of things started working... and working well! For instance, use of controller namespaces now work seemlessly.
19+
- Bootstrap 5.3.3 support. Saffolding and Fields tags now optionally support boostrap classes.
20+
- Priortization of AutoConfiguration over bean overriding.
21+
- Lightweight, Removal of numerous dependencies.
22+
- grails-bom overhaul for keeping depedencies up to date and in sync.
23+
- g:form now automatically provides csrf protection when Spring Security CSRF is enabled.
24+
- Massive decoupling of dependencies and cleanup between modules. SiteMesh dependencies are no longer compiled into controllers fused between numerous modules. SiteMesh isn't even required to use Grails!
25+
- SiteMesh ahs been upgrade to SiteMesh 3!
26+
- Completely up to date modern stack that has been optimized for easier future transitions.
27+
- GSP can now be used OUTSIDE of Grails! see grails-boot
28+
- Works with Spring Security 6 out of the box. No plugin needed!
29+
- Tested and works with Java [17-23](https://github.com/grails/grails-core/blob/0549617f27aeb5b90b64797fa4147dde40fc9c86/.github/workflows/gradle.yml#L18)

dependabot/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Generated on Mon Oct 21 14:36:55 PDT 2024 by: ./gradlew :grails-bom:dependabotBuild
1+
// Generated on Fri Nov 22 09:58:56 CET 2024 by: ./gradlew :grails-bom:dependabotBuild
22
plugins {
33
id 'java-library'
44
}
@@ -7,6 +7,7 @@ dependencies {
77
api "org.apache.ant:ant:${project['ant.version']}"
88
api "org.apache.ant:ant-junit:${project['ant.version']}"
99
api "org.asciidoctor:asciidoctorj:${project['asciidoctorj.version']}"
10+
api "com.bertramlabs.plugins:asset-pipeline-gradle:${project['asset-pipeline-gradle.version']}"
1011
api "com.bertramlabs.plugins:asset-pipeline-grails:${project['asset-pipeline-grails.version']}"
1112
api "net.bytebuddy:byte-buddy:${project['byte-buddy.version']}"
1213
api "commons-codec:commons-codec:${project['commons-codec.version']}"
@@ -24,6 +25,7 @@ dependencies {
2425
api "org.grails:grails-events-rxjava:${project['grails-async.version']}"
2526
api "org.grails:grails-events-rxjava2:${project['grails-async.version']}"
2627
api "org.grails:grails-datastore-gorm-hibernate5:${project['grails-datastore-gorm-hibernate5.version']}"
28+
api "org.grails:grails-datastore-gorm-mongodb:${project['grails-datastore-gorm-mongodb.version']}"
2729
api "org.grails:grails-datastore-async:${project['grails-datastore.version']}"
2830
api "org.grails:grails-datastore-core:${project['grails-datastore.version']}"
2931
api "org.grails:grails-datastore-gorm:${project['grails-datastore.version']}"

gradle.properties

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ gradleNexusPluginVersion=2.3.1
88
gradleNexusPublishPluginVersion=2.0.0
99
gradleExtraConfigurationsPluginVersion=10.0.1
1010
gradleLicensePluginVersion=0.16.1
11-
gradleToolingApiVersion=8.10.2
12-
groovyVersion=4.0.23
11+
gradleToolingApiVersion=8.11.1
12+
groovyVersion=4.0.24
1313
joptSimpleVersion=5.0.4
1414
plexusComponentApiVersion=1.0-alpha-33
1515
plexusSecDispatcherVersion=1.4
@@ -21,10 +21,11 @@ org.gradle.parallel=true
2121
org.gradle.daemon=true
2222
org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx1536M -XX:MaxMetaspaceSize=1024M
2323

24-
# Generated on Tue Oct 22 16:16:30 EDT 2024 by: ./gradlew :grails-bom:syncProps
24+
# Generated on Fri Nov 22 09:58:56 CET 2024 by: ./gradlew :grails-bom:syncProps
2525
# Only version value modifications allowed after this point. Do not insert or change version names.
2626
ant.version=1.10.15
2727
asciidoctorj.version=3.0.0
28+
asset-pipeline-gradle.version=5.0.1
2829
asset-pipeline-grails.version=5.0.1
2930
byte-buddy.version=1.15.5
3031
commons-codec.version=1.17.1
@@ -36,10 +37,11 @@ geb-spock.version=7.0
3637
grails-async.version=6.0.0-SNAPSHOT
3738
grails-datastore.version=9.0.0-SNAPSHOT
3839
grails-datastore-gorm-hibernate5.version=9.0.0-SNAPSHOT
40+
grails-datastore-gorm-mongodb.version=9.0.0-SNAPSHOT
3941
grails-gdoc-engine.version=1.0.1
4042
grails-gradle-plugin.version=7.0.0-SNAPSHOT
4143
grails-testing-support.version=4.0.0-SNAPSHOT
42-
groovy.version=4.0.23
44+
groovy.version=4.0.24
4345
gsp.version=7.0.0-SNAPSHOT
4446
h2.version=2.3.232
4547
jackson.version=2.18.1
@@ -75,6 +77,6 @@ profiles-web.version=7.0.1-SNAPSHOT
7577
profiles-web-plugin.version=7.0.1-SNAPSHOT
7678
spock.version=2.3-groovy-4.0
7779
spotbugs-annotations.version=4.8.6
78-
spring-boot.version=3.4.0-RC1
80+
spring-boot.version=3.4.0
7981
springloaded.version=1.2.8.RELEASE
8082
views-json-testing-support.version=4.0.0-SNAPSHOT

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

grails-bom/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ ext {
2525
// version name = versionNameOverride ?: artifactId-prefixes[0]
2626
dependenciesOverview = """\
2727
com.bertramlabs.plugins:asset-pipeline-grails::
28+
com.bertramlabs.plugins:asset-pipeline-gradle::
2829
com.fasterxml.jackson:jackson-bom:::jackson
2930
com.github.javaparser:javaparser-core::
3031
com.h2database:h2::
@@ -45,6 +46,7 @@ ext {
4546
org.grails.plugins:gsp::
4647
org.grails:grails-async,grails-events:gpars,rxjava,rxjava2::grails-async
4748
org.grails:grails-datastore-gorm-hibernate5::
49+
org.grails:grails-datastore-gorm-mongodb::
4850
org.grails:grails-datastore:async,core,gorm,gorm-async,gorm-support,gorm-rx,gorm-test,gorm-validation,web:
4951
org.grails:grails-gdoc-engine::
5052
org.grails:grails-gradle-plugin::

grails-bom/plugins.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ neo4j=8.1.0
88
rxjava=1.1.1
99
rxjava2=2.0.0
1010
scaffolding=6.0.0-SNAPSHOT
11+
views-gradle=4.0.0-SNAPSHOT
1112
views-json=4.0.0-SNAPSHOT
1213
views-json-templates=4.0.0-SNAPSHOT
1314
views-markup=4.0.0-SNAPSHOT

grails-core/build.gradle

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
configurations.all {
2-
resolutionStrategy {
3-
force "org.hamcrest:hamcrest-core:1.3"
4-
}
5-
}
6-
71
dependencies {
82
compileOnly "org.aspectj:aspectjrt", "org.aspectj:aspectjweaver"
93
api "jakarta.inject:jakarta.inject-api"
@@ -27,7 +21,7 @@ dependencies {
2721

2822
testImplementation "org.springframework:spring-jdbc"
2923

30-
testImplementation "org.hamcrest:hamcrest-core:1.3"
24+
testImplementation "org.hamcrest:hamcrest"
3125

3226
testRuntimeOnly "com.h2database:h2"
3327
testRuntimeOnly "com.fasterxml.jackson.core:jackson-databind"

grails-core/src/main/groovy/org/grails/plugins/DefaultGrailsPlugin.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -541,12 +541,9 @@ public void doWithRuntimeConfiguration(RuntimeSpringConfiguration springConfig)
541541
BeanBuilder bb = new BeanBuilder(getParentCtx(),springConfig, grailsApplication.getClassLoader());
542542
bb.setBinding(b);
543543
c.setDelegate(bb);
544-
c.setResolveStrategy(Closure.OWNER_FIRST);
545544
bb.invokeMethod("beans", new Object[]{c});
546545
}
547-
}
548-
else {
549-
546+
} else {
550547
if (!pluginBean.isReadableProperty(DO_WITH_SPRING)) {
551548
return;
552549
}
@@ -559,7 +556,6 @@ public void doWithRuntimeConfiguration(RuntimeSpringConfiguration springConfig)
559556
BeanBuilder bb = new BeanBuilder(getParentCtx(),springConfig, grailsApplication.getClassLoader());
560557
bb.setBinding(b);
561558
c.setDelegate(bb);
562-
c.setResolveStrategy(Closure.DELEGATE_FIRST);
563559
bb.invokeMethod("beans", new Object[]{c});
564560
}
565561

grails-core/src/test/groovy/org/grails/transaction/ChainedTransactionManagerTests.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package org.grails.transaction;
1717

1818
import org.hamcrest.Description;
19-
import org.hamcrest.Factory;
2019
import org.junit.jupiter.api.Test;
2120
import org.springframework.transaction.*;
2221
import org.springframework.transaction.support.DefaultTransactionDefinition;
@@ -176,7 +175,6 @@ public TestPlatformTransactionManager(String name) {
176175
this.name = name;
177176
}
178177

179-
@Factory
180178
static PlatformTransactionManager createFailingTransactionManager(String name) {
181179
return new TestPlatformTransactionManager(name + "-failing") {
182180
@Override
@@ -191,7 +189,6 @@ public void rollback(TransactionStatus status) throws TransactionException {
191189
};
192190
}
193191

194-
@Factory
195192
static PlatformTransactionManager createNonFailingTransactionManager(String name) {
196193
return new TestPlatformTransactionManager(name + "-non-failing");
197194
}
@@ -296,12 +293,10 @@ public void describeTo(Description description) {
296293
description.appendText("that a " + (commitCheck ? "committed" : "rolled-back") + " TransactionManager");
297294
}
298295

299-
@Factory
300296
public static TransactionManagerMatcher isCommitted() {
301297
return new TransactionManagerMatcher(true);
302298
}
303299

304-
@Factory
305300
public static TransactionManagerMatcher wasRolledback() {
306301
return new TransactionManagerMatcher(false);
307302
}

0 commit comments

Comments
 (0)