guava:32.1.1-jre conflicts with google-cloud-datastore:2.16.0
envgap__google__guava-6642
Original GitHub issue ↗Opened 2023-07-20
01 / FAILURE SIGNATURE
As reported upstream
Cannot select module with conflict on capability 'com.google.guava:listenablefuture:1.0' also provided by [com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava(runtime)]
Not a benchmark task.
- No curated issue-specific recipe or verified environment fix is available.
02 / ENVIRONMENT RECIPE
- Base commit
Not freshly verified- Manifest
pom.xml- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
google/guava #6642 · read the original issue
Using gradlew 7.4, this `build.gradle` file:
```
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
implementation 'com.google.cloud:google-cloud-datastore:2.16.0'
implementation 'com.google.guava:guava:32.1.1-jre'
}
print configurations.runtimeClasspath.files
```
...fails like this:
```
$ gradlew dependencies
FAILURE: Build failed with an exception.
* Where:
Build file '/tmp/gradle-guava-error/build.gradle' line: 13
* What went wrong:
A problem occurred evaluating root project 'test'.
> Could not resolve all files for configuration ':runtimeClasspath'.
> Could not resolve com.google.guava:guava:32.1.1-jre.
Required by:
project :
> Module 'com.google.guava:guava' has been rejected:
Cannot select module with conflict on capability 'com.google.guava:listenablefuture:1.0' also provided by [com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava(runtime)]
> Could not resolve com.google.guava:guava:31.0.0-jre.
Required by:
project :
> Module 'com.google.guava:guava' has been rejected:
Cannot select module with conflict on capability 'com.google.guava:listenablefuture:1.0' also provided by [com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava(runtime)]
> Could not resolve com.google.guava:guava:32.0.1-jre.
Required by:
project : > com.google.cloud:google-cloud-datastore:2.16.0
> Module 'com.google.guava:guava' has been rejected:
Cannot select module with conflict on capability 'com.google.guava:listenablefuture:1.0' also provided by [com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava(runtime)]
> Could not resolve com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava.
Required by:
project : > com.google.cloud:google-cloud-datastore:2.16.0
project : > com.google.cloud:google-cloud-datastore:2.16.0 > com.google.api.grpc:grpc-google-cloud-datastore-admin-v1:2.16.0
> Module 'com.google.guava:listenablefuture' has been rejected:
Cannot select module with conflict on capability 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' also provided by [com.google.guava:guava:32.1.1-jre(jreRuntimeElements)]
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 314ms
```
It succeeds with 32.0.1-jre or if excluding the transitive listenablefuture dependency from datastore:
```
implementation dependencies.create('com.google.cloud:google-cloud-datastore:2.16.0') {
exclude group: 'com.google.guava', module: 'listenablefuture'
}
```04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]
Issue-specific recipe and runtime smoke command require review against the complete issue and repository.
Legacy reproduction is generic install-only; match the actual issue failure before admission.