From 00099659ec678d1d9c372b58b64d4c3885050fe4 Mon Sep 17 00:00:00 2001 From: Jendrik Johannes Date: Thu, 23 May 2024 18:41:27 +0200 Subject: [PATCH] Do not add 'listenablefuture' capability to 'listenablefuture' itself --- .../detection/rules/CapabilityDefinition.java | 3 +-- ...CapabilityWithDifferentVersionsTest.groovy | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/CapabilityDefinition.java b/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/CapabilityDefinition.java index 60d3ca6d..406f4d91 100644 --- a/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/CapabilityDefinition.java +++ b/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/CapabilityDefinition.java @@ -203,8 +203,7 @@ public enum CapabilityDefinition { "org.lz4:lz4-java" ), LISTENABLEFUTURE(FIRST_MODULE, "com.google.guava", GuavaListenableFutureRule.class, - "com.google.guava:guava", - "com.google.guava:listenablefuture" + "com.google.guava:guava" ), HAMCREST_LIBRARY(FIRST_MODULE, "org.hamcrest:hamcrest", diff --git a/src/test/groovy/org/gradlex/jvm/dependency/conflict/test/CapabilityWithDifferentVersionsTest.groovy b/src/test/groovy/org/gradlex/jvm/dependency/conflict/test/CapabilityWithDifferentVersionsTest.groovy index c0055748..74b7b355 100644 --- a/src/test/groovy/org/gradlex/jvm/dependency/conflict/test/CapabilityWithDifferentVersionsTest.groovy +++ b/src/test/groovy/org/gradlex/jvm/dependency/conflict/test/CapabilityWithDifferentVersionsTest.groovy @@ -41,4 +41,29 @@ class CapabilityWithDifferentVersionsTest extends Specification { expect: printJars() } + + def "does not fail with empty listenable future dependency on the classpath"() { + given: + buildFile << """ + plugins { + id("org.gradlex.jvm-dependency-conflict-resolution") + id("java-library") + } + tasks.withType().configureEach { + options.release = 17 + } + repositories.mavenCentral() + dependencies { + implementation(platform("com.google.cloud:spring-cloud-gcp-dependencies:5.2.0")) + implementation("com.google.cloud:spring-cloud-gcp-starter-bigquery") // <--- (1) + } + + tasks.register("printJars") { + println(configurations.compileClasspath.get().files.joinToString("\\n") { it.name }) + } + """ + + expect: + printJars() + } }