This is an automated email from the ASF dual-hosted git repository.

matrei pushed a commit to branch fix/clarify-caffeine
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 51100cd7be1d508616c17c66528347bbe29deb30
Author: Mattias Reichel <[email protected]>
AuthorDate: Tue Sep 23 15:02:54 2025 +0200

    fix(deps): clarify and update usage of `caffeine`
---
 grails-core/build.gradle              |  1 -
 grails-data-mongodb/core/build.gradle |  1 -
 grails-data-simple/build.gradle       | 10 +++++++---
 grails-datastore-core/build.gradle    |  1 -
 grails-rest-transforms/build.gradle   |  5 ++++-
 grails-web-common/build.gradle        |  5 ++++-
 grails-web-url-mappings/build.gradle  |  4 +++-
 7 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/grails-core/build.gradle b/grails-core/build.gradle
index 79a030fc6e..bcc6f267ba 100644
--- a/grails-core/build.gradle
+++ b/grails-core/build.gradle
@@ -36,7 +36,6 @@ dependencies {
     api 'jakarta.persistence:jakarta.persistence-api'
     api 'jakarta.annotation:jakarta.annotation-api'
 
-    implementation 'com.github.ben-manes.caffeine:caffeine'
     api 'org.apache.groovy:groovy'
     api 'org.springframework.boot:spring-boot'
     api 'org.springframework:spring-core'
diff --git a/grails-data-mongodb/core/build.gradle 
b/grails-data-mongodb/core/build.gradle
index 6c89d15666..c787106b09 100644
--- a/grails-data-mongodb/core/build.gradle
+++ b/grails-data-mongodb/core/build.gradle
@@ -61,7 +61,6 @@ dependencies {
             exclude group: 'jakarta.inject', module: 'jakarta.inject-api'
             exclude group: 'jakarta.persistence', module: 
'jakarta.persistence-api'
             exclude group: 'org.apache.grails.bootstrap', module: 
'grails-bootstrap'
-            exclude group: 'org.apache.grails.data', module: 
'grails-datastore-core'
             exclude group: 'org.apache.grails', module: 'grails-spring'
             exclude group: 'org.springframework', module: 'spring-beans'
             exclude group: 'org.springframework', module: 'spring-context'
diff --git a/grails-data-simple/build.gradle b/grails-data-simple/build.gradle
index df43a6fef7..8cbc9f1cc8 100644
--- a/grails-data-simple/build.gradle
+++ b/grails-data-simple/build.gradle
@@ -83,9 +83,6 @@ dependencies {
         // api: PlatformTransactionManager
     }
 
-    // RemovalListener (caffeine)
-    implementation "com.github.ben-manes.caffeine:caffeine"
-
     compileOnly 'org.apache.groovy:groovy', {
         // comp: CompileStatic
     }
@@ -98,3 +95,10 @@ apply {
     from rootProject.layout.projectDirectory.file('gradle/test-config.gradle')
     from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle')
 }
+
+// Without this, the the groovydoc task will fail:
+// | Execution failed for task ':grails-data-simple:groovydoc'.
+// | > A failure occurred while executing 
org.gradle.api.internal.tasks.GroovydocAntAction
+// |   > java.lang.NoClassDefFoundError: 
com/github/benmanes/caffeine/cache/RemovalListener
+// Caffeine is on the runtimeClasspath via grails-datastore-core
+dependencies.add('documentation', 'com.github.ben-manes.caffeine:caffeine')
diff --git a/grails-datastore-core/build.gradle 
b/grails-datastore-core/build.gradle
index 87a2d91345..d847522fb3 100644
--- a/grails-datastore-core/build.gradle
+++ b/grails-datastore-core/build.gradle
@@ -82,7 +82,6 @@ dependencies {
         // provided: Logger, LoggerFactory
     }
 
-
     testImplementation project(':grails-datamapping-core'), {
         // we only need the @grails.gorm.annotation.Entity annotation to test 
GORM syntax mapping
         transitive = false
diff --git a/grails-rest-transforms/build.gradle 
b/grails-rest-transforms/build.gradle
index 40e93a7563..5d64def54f 100644
--- a/grails-rest-transforms/build.gradle
+++ b/grails-rest-transforms/build.gradle
@@ -39,7 +39,10 @@ dependencies {
     api project(':grails-converters')
     api 'org.apache.groovy:groovy'
 
-    implementation 'com.github.ben-manes.caffeine:caffeine'
+    implementation 'com.github.ben-manes.caffeine:caffeine', {
+        // impl: Cache, Caffeine
+    }
+
     testImplementation project(':grails-url-mappings')
     testImplementation project(':grails-test-suite-base')
 
diff --git a/grails-web-common/build.gradle b/grails-web-common/build.gradle
index 189b9677a6..d5cf31b873 100644
--- a/grails-web-common/build.gradle
+++ b/grails-web-common/build.gradle
@@ -47,7 +47,10 @@ dependencies {
 
     api 'org.springframework:spring-webmvc'
     api 'org.springframework:spring-context-support'
-    implementation 'com.github.ben-manes.caffeine:caffeine'
+
+    implementation 'com.github.ben-manes.caffeine:caffeine', {
+        // impl: Cache, Caffeine
+    }
 
     compileOnly 'jakarta.servlet:jakarta.servlet-api'
     compileOnly 'org.springframework:spring-test', {
diff --git a/grails-web-url-mappings/build.gradle 
b/grails-web-url-mappings/build.gradle
index 7e67bdb748..50bde54df6 100644
--- a/grails-web-url-mappings/build.gradle
+++ b/grails-web-url-mappings/build.gradle
@@ -43,7 +43,9 @@ dependencies {
     testRuntimeOnly 'org.fusesource.jansi:jansi'
     compileOnly 'jline:jline'
 
-    implementation 'com.github.ben-manes.caffeine:caffeine'
+    implementation 'com.github.ben-manes.caffeine:caffeine', {
+        // impl: Cache, Caffeine, Weigher
+    }
 
     testImplementation project(':grails-test-suite-base')
 

Reply via email to