diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cd02131d..b9dae98e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -62,8 +62,8 @@ jobs: FOLDER: docs/build/docs DOC_SUB_FOLDER: mongodb DOC_FOLDER: gh-pages - COMMIT_EMAIL: 'grails-build@users.noreply.github.com' - COMMIT_NAME: 'grails-build' + COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }} + COMMIT_NAME: ${{ env.GIT_USER_NAME }} VERSION: ${{ steps.release_version.outputs.release_version }} - name: Run post-release if: success() diff --git a/build.gradle b/build.gradle index 422a93d8..7783be71 100644 --- a/build.gradle +++ b/build.gradle @@ -9,17 +9,6 @@ buildscript { classpath "com.github.erdi:webdriver-binaries-gradle-plugin:3.2" classpath "io.github.gradle-nexus:publish-plugin:1.3.0" } - - configurations.configureEach { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - // This is a workaround for dependencies exposing a different version of Groovy - // than the one used by Gradle. This causes issues with the Groovy compiler. - if (details.requested.group == 'org.apache.groovy' || details.requested.group == 'org.codehaus.groovy') { - details.useTarget(group: "org.codehaus.groovy", name: details.requested.name, version: GroovySystem.version) - details.because "Use Groovy 3.0.x library shipped with Gradle" - } - } - } } logger.lifecycle "GORM VERSION = ${project.datastoreVersion}" @@ -83,19 +72,15 @@ allprojects { } } - configurations.all { - resolutionStrategy.dependencySubstitution { - substitute(module("org.codehaus.groovy:groovy-bom:3.0.8")).using(module("org.apache.groovy:groovy-bom:$groovyVersion")) - } - + configurations.configureEach { resolutionStrategy.eachDependency { DependencyResolveDetails details -> if ((details.requested.group == 'org.codehaus.groovy' || details.requested.group == 'org.apache.groovy') && details.requested.name != 'groovy-bom') { - details.useTarget(group: 'org.apache.groovy', name: details.requested.name, version: "$groovyVersion") + details.useTarget(group: 'org.apache.groovy', name: details.requested.name, version: groovyVersion) details.because "The dependency coordinates are changed in Apache Groovy 4, plus ensure version" } if (details.requested.group == "io.micronaut" && details.requested.name == "micronaut-inject-groovy") { - details.useVersion("4.6.1") + details.useVersion(micronautVersion) } } } @@ -128,10 +113,9 @@ subprojects { Project subproject -> if (project.name == "examples-test-data-service") { apply plugin:"org.grails.grails-web" - //apply plugin:"org.grails.plugins.views-json" } - configurations.all { + configurations.configureEach { resolutionStrategy.eachDependency { DependencyResolveDetails details -> if(details.requested.group == 'org.apache.groovy' && details.requested.name.startsWith('groovy')) { details.useVersion(groovyVersion) @@ -238,6 +222,10 @@ subprojects { Project subproject -> apply plugin: 'maven-publish' apply plugin: 'signing' + if (project.name == "examples-test-data-service") { + apply plugin:"org.grails.plugins.views-json" + } + java { toolchain { languageVersion = JavaLanguageVersion.of(17) diff --git a/examples/grails3-hibernate5-mongodb/build.gradle b/examples/grails3-hibernate5-mongodb/build.gradle index 06dc2638..8c66db5d 100644 --- a/examples/grails3-hibernate5-mongodb/build.gradle +++ b/examples/grails3-hibernate5-mongodb/build.gradle @@ -1,7 +1,5 @@ group "examples" - - dependencies { implementation "org.springframework.boot:spring-boot-starter-logging" implementation "org.springframework.boot:spring-boot-autoconfigure" diff --git a/examples/grails3-mongodb-database-per-tenant/build.gradle b/examples/grails3-mongodb-database-per-tenant/build.gradle index a6b6b8d5..804868ba 100644 --- a/examples/grails3-mongodb-database-per-tenant/build.gradle +++ b/examples/grails3-mongodb-database-per-tenant/build.gradle @@ -34,15 +34,6 @@ dependencies { testImplementation "org.seleniumhq.selenium:selenium-support:$seleniumVersion" } -configurations.all { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - if ((details.requested.group == 'org.codehaus.groovy')) { - details.useTarget(group: 'org.apache.groovy', name: details.requested.name, version: "$groovyVersion") - details.because "The dependency coordinates are changed in Apache Groovy 4, plus ensure version" - } - } -} - tasks.withType(Test) { systemProperty "geb.env", System.getProperty('geb.env') systemProperty "geb.build.reportsDir", reporting.file("geb/integrationTest") diff --git a/examples/test-data-service/build.gradle b/examples/test-data-service/build.gradle index 545df165..4968d620 100644 --- a/examples/test-data-service/build.gradle +++ b/examples/test-data-service/build.gradle @@ -1,6 +1,19 @@ -apply plugin: 'java' +buildscript { + repositories { + maven { url "https://repo.grails.org/grails/core" } + maven { url "https://plugins.gradle.org/m2/" } + } + dependencies { + classpath "org.grails.plugins:views-gradle:$grailsViewsVersion" + } +} + +apply plugin: "java" dependencies { + profile "org.grails.profiles:rest-api" + compileOnly "org.grails.plugins:views-json:$grailsViewsVersion" + compileOnly "org.grails.plugins:views-json-templates:$grailsViewsVersion" implementation "org.springframework.boot:spring-boot-starter-logging" implementation "org.springframework.boot:spring-boot-autoconfigure" implementation "org.grails:grails-core:$grailsVersion" @@ -22,7 +35,6 @@ dependencies { implementation "org.grails.plugins:views-json-templates" implementation 'org.grails.plugins:spring-security-core:4.0.3' implementation 'org.grails.plugins:spring-security-rest:3.0.1' - profile "org.grails.profiles:rest-api" testImplementation "org.grails:grails-gorm-testing-support:$testingSupportVersion" testImplementation "org.grails:grails-web-testing-support" } diff --git a/gradle.properties b/gradle.properties index ab174271..999cdc06 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,6 +6,7 @@ gebPluginVersion=4.0.0 gormVersion=9.0.0-SNAPSHOT grailsGradlePluginVersion=7.0.0-SNAPSHOT grailsShellVersion=7.0.0-SNAPSHOT +grailsViewsVersion=3.2.3 groovyVersion=4.0.22 h2Version=1.4.200 hibernateCoreVersion=5.6.15.Final @@ -21,6 +22,7 @@ jansiVersion=2.4.1 javaParserCoreVersion=3.25.9 junitJupiterVersion=5.9.3 junitJupiterPlatformVersion=1.9.3 +micronautVersion=4.5.3 mongodbDriverVersion=5.1.4 testcontainersMongodbVersion=1.20.1 projectVersion=9.0.0-SNAPSHOT diff --git a/grails-datastore-gorm-mongodb/src/main/groovy/org/grails/datastore/mapping/mongo/MongoDatastore.java b/grails-datastore-gorm-mongodb/src/main/groovy/org/grails/datastore/mapping/mongo/MongoDatastore.java index 67da4da2..8dbb6b19 100644 --- a/grails-datastore-gorm-mongodb/src/main/groovy/org/grails/datastore/mapping/mongo/MongoDatastore.java +++ b/grails-datastore-gorm-mongodb/src/main/groovy/org/grails/datastore/mapping/mongo/MongoDatastore.java @@ -65,6 +65,7 @@ import org.grails.datastore.mapping.transactions.DatastoreTransactionManager; import org.grails.datastore.mapping.transactions.TransactionCapableDatastore; import org.grails.datastore.mapping.validation.ValidatorRegistry; +import org.grails.spring.context.support.PluginAwareResourceBundleMessageSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.context.support.StaticMessageSource; @@ -574,10 +575,10 @@ public void setCodecs(List> codecs) { /** * The message source used for validation messages * - * @param messageSource The message source + * @param messageSource The message sources */ @Autowired(required = false) - public void setMessageSource(MessageSource messageSource) { + public void setMessageSource(PluginAwareResourceBundleMessageSource messageSource) { if(messageSource != null) { configureValidatorRegistry(connectionSources.getDefaultConnectionSource().getSettings(), (MongoMappingContext) mappingContext, messageSource); }