From 51100cd7be1d508616c17c66528347bbe29deb30 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 23 Sep 2025 15:02:54 +0200 Subject: [PATCH] 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 79a030fc6e1..bcc6f267ba5 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 6c89d156661..c787106b09f 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 df43a6fef72..8cbc9f1cc85 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 87a2d913455..d847522fb39 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 40e93a75632..5d64def54fa 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 189b9677a6a..d5cf31b8736 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 7e67bdb7489..50bde54df6d 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')