google / guava

Google core libraries for Java
Apache License 2.0
50.13k stars 10.89k forks source link

missing guava dependencies when updating from 32.0.1-jre to 32.1.1-jre #6657

Closed uli-f closed 1 year ago

uli-f commented 1 year ago

My Java project has a transitive dependency on com.google.guava:guava.

I manually update the version of guava by adding a constraint to the dependencies section of my build.gradle:

dependencies {
   .....
    constraints {
        // update guava to latest
        implementation("com.google.guava:guava:32.0.1-jre") {
            because("cdk uses an old version")
        }
    }
}

When updating from version 32.0.1-jre to version 32.1.1-jre the following transitive dependencies of guava cannot be resolved:

   > Could not find com.google.code.findbugs:jsr305:.
     Required by:
         project : > com.google.guava:guava:32.1.1-jre
   > Could not find org.checkerframework:checker-qual:.
     Required by:
         project : > com.google.guava:guava:32.1.1-jre
   > Could not find com.google.errorprone:error_prone_annotations:.
     Required by:
         project : > com.google.guava:guava:32.1.1-jre
   > Could not find com.google.j2objc:j2objc-annotations:.
     Required by:
         project : > com.google.guava:guava:32.1.1-jre

I use the official maven repository to resolve dependencies:

repositories {
        mavenCentral(name: 'official maven')
}

As there is no such issue of resolving these transitive dependencies when switching back to guava version 32.0.1-jre even after manually deleting all directories that start with com.google in the gradle cache the issue isn't caused by the libraries not being available from the repository.

I cannot (or don't know how to) redact information from the gradle build scan, so I opted for providing you with the console output of gradlew -info clean compileJava.

Please let me know if there is anything else you need to look into this.

uli-f commented 1 year ago

Output of gradlew -info clean compileJava:

Initialized native services in: C:\Users\USERNAME\.gradle\native
Initialized jansi services in: C:\Users\USERNAME\.gradle\native
Received JVM installation metadata from 'C:\Program Files\Eclipse Adoptium\jdk-17.0.8.7-hotspot': {JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-17.0.8.7-hotspot, JAVA_VERSION=17.0.8, JAVA_VENDOR=Eclipse Adoptium, RUNTIME_NAME=OpenJDK Runtime Environment, RUNTIME_VERSION=17.0.8+7, VM_NAME=OpenJDK 64-Bit Serve
r VM, VM_VERSION=17.0.8+7, VM_VENDOR=Eclipse Adoptium, OS_ARCH=amd64}
The client will now receive all logging from the daemon (pid: 6100). The daemon log file: C:\Users\USERNAME\.gradle\daemon\8.1.1\daemon-6100.out.log           
Starting 11th build in daemon [uptime: 16 mins 30.533 secs, performance: 100%, GC rate: 0.00/s, heap usage: 0% of 512 MiB, non-heap usage: 27% of 384 MiB]
Using 8 worker leases.                                                                                                                                    
Now considering [C:\Development\IdeaProjects\PROJECTNAME] as hierarchies to watch
Watching the file system is configured to be enabled if available
File system watching is active
Starting Build
Settings evaluated using settings file 'C:\Development\IdeaProjects\PROJECTNAME\settings.gradle'.
Projects loaded. Root project using build file 'C:\Development\IdeaProjects\PROJECTNAME\build.gradle'.
Included projects: [root project 'PROJECTNAME']

> Configure project :
Evaluating root project 'PROJECTNAME' using build file 'C:\Development\IdeaProjects\PROJECTNAME\build.gradle'.
The configuration detachedConfiguration1 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration1 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration1 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration1 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration2 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration2 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration2 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration2 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration3 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration3 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration3 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration3 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration4 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration4 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration4 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration4 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration5 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration5 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration5 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration5 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration6 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration6 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration detachedConfiguration6 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration detachedConfiguration6 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :classpath is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :classpath is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :classpath is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :classpath is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
Applying dependency management to configuration 'annotationProcessor' in project 'PROJECTNAME'
Applying dependency management to configuration 'apiElements' in project 'PROJECTNAME'
Applying dependency management to configuration 'archives' in project 'PROJECTNAME'
Applying dependency management to configuration 'bootArchives' in project 'PROJECTNAME'
Applying dependency management to configuration 'compileClasspath' in project 'PROJECTNAME'
Applying dependency management to configuration 'compileOnly' in project 'PROJECTNAME'
Applying dependency management to configuration 'default' in project 'PROJECTNAME'
Applying dependency management to configuration 'developmentOnly' in project 'PROJECTNAME'
Applying dependency management to configuration 'implementation' in project 'PROJECTNAME'
Applying dependency management to configuration 'mainSourceElements' in project 'PROJECTNAME'
Applying dependency management to configuration 'productionRuntimeClasspath' in project 'PROJECTNAME'
Applying dependency management to configuration 'runtimeClasspath' in project 'PROJECTNAME'
Applying dependency management to configuration 'runtimeElements' in project 'PROJECTNAME'
Applying dependency management to configuration 'runtimeOnly' in project 'PROJECTNAME'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'PROJECTNAME'
Applying dependency management to configuration 'testCompileClasspath' in project 'PROJECTNAME'
Applying dependency management to configuration 'testCompileOnly' in project 'PROJECTNAME'
Applying dependency management to configuration 'testImplementation' in project 'PROJECTNAME'
Applying dependency management to configuration 'testResultsElementsForTest' in project 'PROJECTNAME'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'PROJECTNAME'
Applying dependency management to configuration 'testRuntimeOnly' in project 'PROJECTNAME'
Applying dependency management to configuration 'shadow' in project 'PROJECTNAME'
Applying dependency management to configuration 'shadowRuntimeElements' in project 'PROJECTNAME'
Gradle version: 8.1.1
matching ref: COMMIT - 61fb4d3a7d8184458957d71a36e15b1837f2f5cd
ref configuration: COMMIT - pattern: null
  describeTagFirstParent: true
  version: ${describe.tag}-${describe.distance}-${commit.short}

set version to  v0.0.23-15-61fb4d3
project version: v0.0.23-15-61fb4d3
Java Compiler arguments for task compileJava: [-parameters, -Xlint:deprecation, -Xlint:unchecked]
Java source compatibility: 17
Java target compatibility: 17
The build profile is set to 'other'.
Repositories used for resolving dependencies:
  official maven
maximum heap size: default
Artifact name: PROJECTNAME-v0.0.23-15-61fb4d3.jar
Repository used for publishing artifact:
  [no repository configured]
All projects evaluated.
Task name matched 'clean'
Task name matched 'compileJava'
Selected primary task 'clean' from project :
Selected primary task 'compileJava' from project :
The configuration :mainSourceElements is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
Tasks to be executed: [task ':clean', task ':processContainerResources', task ':writeFileWithArtifactName', task ':processResources', task ':compileJava']
Tasks that were excluded: []
Resolve mutations for :clean (Thread[Execution worker,5,main]) started.
:clean (Thread[Execution worker,5,main]) started.
destroyer locations for task group 0 (Thread[included builds,5,main]) started.

> Task :clean
Caching disabled for task ':clean' because:
  Build cache is disabled
Task ':clean' is not up-to-date because:
  Task has not declared any outputs despite executing actions.
Resolve mutations for :processContainerResources (Thread[Execution worker,5,main]) started.
:processContainerResources (Thread[Execution worker,5,main]) started.

> Task :processContainerResources
Caching disabled for task ':processContainerResources' because:
  Build cache is disabled
Task ':processContainerResources' is not up-to-date because:
  Output property 'destinationDir' file C:\Development\IdeaProjects\PROJECTNAME\build\container has been removed.
  Output property 'destinationDir' file C:\Development\IdeaProjects\PROJECTNAME\build\container\Dockerfile has been removed.
  Output property 'destinationDir' file C:\Development\IdeaProjects\PROJECTNAME\build\container\entrypoint.sh has been removed.
Resolve mutations for :writeFileWithArtifactName (Thread[Execution worker,5,main]) started.
:writeFileWithArtifactName (Thread[Execution worker,5,main]) started.

> Task :writeFileWithArtifactName
Caching disabled for task ':writeFileWithArtifactName' because:
  Build cache is disabled
Task ':writeFileWithArtifactName' is not up-to-date because:
  Task has not declared any outputs despite executing actions.
Resolve mutations for :processResources (Thread[Execution worker,5,main]) started.
:processResources (Thread[Execution worker,5,main]) started.

> Task :processResources
Caching disabled for task ':processResources' because:
  Build cache is disabled
Task ':processResources' is not up-to-date because:
  Output property 'destinationDir' file C:\Development\IdeaProjects\PROJECTNAME\build\resources\main has been removed.
  Output property 'destinationDir' file C:\Development\IdeaProjects\PROJECTNAME\build\resources\main\application-local.properties has been removed.
  Output property 'destinationDir' file C:\Development\IdeaProjects\PROJECTNAME\build\resources\main\application-production.properties has been removed.
  Output property 'destinationDir' file C:\Development\IdeaProjects\PROJECTNAME\build\resources\main\application.properties has been removed.
Resolve mutations for :compileJava (Thread[included builds,5,main]) started.
:compileJava (Thread[included builds,5,main]) started.

> Task :compileJava FAILED
Resolving global dependency management for project 'PROJECTNAME'
The configuration :detachedConfiguration1 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration1 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration1 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration1 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration2 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration2 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration2 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration2 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration2 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration2 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration3 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration3 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration3 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration3 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration3 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration3 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration4 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration4 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration4 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration4 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration4 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration4 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration5 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration5 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration5 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration5 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration5 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration5 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration6 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration6 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration6 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration6 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration6 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration6 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration7 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration7 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration7 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration7 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration7 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration7 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration8 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration8 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration8 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration8 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration8 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration8 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration9 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration9 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration9 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration9 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration9 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration9 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration10 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration10 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration10 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration10 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration10 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration10 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration11 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration11 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration11 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration11 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration11 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration11 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration12 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration12 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration12 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration12 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration12 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration12 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration13 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration13 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration13 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration13 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration13 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration13 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration14 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration14 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration14 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration14 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration14 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration14 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration15 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration15 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration15 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration15 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration15 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration15 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration16 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration16 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration16 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration16 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration16 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration16 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration17 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration17 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration17 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration17 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration17 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration17 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration18 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration18 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration18 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration18 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration18 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration18 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration19 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration19 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration19 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration19 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration19 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration19 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration20 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration20 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration20 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration20 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration20 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration20 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration21 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration21 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration21 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration21 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration21 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration21 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration22 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration22 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration22 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration22 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration22 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration22 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration23 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration23 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration23 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration23 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration23 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration23 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration24 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration24 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration24 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration24 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration24 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration24 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration25 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration25 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration25 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration25 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration25 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration25 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration26 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration26 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration26 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration26 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration26 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration26 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration27 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration27 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration27 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration27 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration27 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration27 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration28 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration28 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration28 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration28 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration28 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration28 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration29 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration29 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration29 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration29 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration29 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration29 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration30 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration30 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration30 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration30 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration30 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration30 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration31 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration31 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration31 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration31 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration31 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration31 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration32 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration32 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration32 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration32 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration32 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration32 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration33 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration33 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration33 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration33 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration33 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration33 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration34 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration34 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration34 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration34 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration34 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration34 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration35 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration35 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration35 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration35 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration35 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration35 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration36 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration36 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration36 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration36 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration36 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration36 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration37 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration37 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration37 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration37 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration37 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration37 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration38 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration38 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration38 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration38 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration38 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration38 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration39 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration39 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration39 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration39 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration39 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration39 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration40 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration40 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration40 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration40 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration40 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration40 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration41 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration41 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration41 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration41 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration41 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration41 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration42 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration42 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration42 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration42 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration42 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration42 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration43 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration43 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration43 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration43 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration43 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration43 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration44 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration44 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration44 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration44 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration44 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration44 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration45 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration45 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration45 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration45 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration45 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration45 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration46 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration46 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration46 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration46 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration46 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration46 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration47 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration47 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration47 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration47 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration47 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration47 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration48 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration48 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration48 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration48 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration49 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration49 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration49 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration49 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration50 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration50 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration50 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration50 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration50 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration50 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration51 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration51 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration51 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration51 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration51 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration51 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration52 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration52 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration52 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration52 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration52 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration52 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration53 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration53 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration53 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration53 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration53 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration53 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration54 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration54 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration54 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration54 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration54 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration54 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration55 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration55 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration55 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration55 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration55 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration55 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration56 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration56 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration56 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration56 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration56 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration56 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration57 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration57 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration57 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration57 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration57 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration57 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration58 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration58 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration58 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration58 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration58 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration58 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration59 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration59 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration59 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration59 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration59 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration59 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration60 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration60 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration60 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration60 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration60 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration60 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration61 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration61 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration61 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration61 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration61 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration61 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration62 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration62 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration62 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration62 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration62 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration62 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration63 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration63 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration63 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration63 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration63 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration63 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration64 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration64 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration64 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration64 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration64 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration64 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration65 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration65 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration65 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration65 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration65 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration65 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration66 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration66 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration66 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration66 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration66 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration66 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration67 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration67 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration67 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration67 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration67 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration67 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration68 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration68 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration68 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration68 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration68 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration68 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration69 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration69 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration69 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration69 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration69 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration69 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration70 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration70 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration70 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration70 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration70 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration70 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration71 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration71 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration71 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration71 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration71 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration71 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration72 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration72 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration72 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration72 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration72 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration72 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration73 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration73 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration73 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration73 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration73 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration73 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration74 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration74 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration74 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration74 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration74 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration74 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration75 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration75 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration75 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration75 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration75 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration75 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration76 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration76 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration76 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration76 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration76 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration76 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration77 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration77 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration77 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration77 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration77 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration77 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration78 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration78 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration78 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration78 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration78 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration78 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration79 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration79 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration79 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration79 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration79 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration79 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration80 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration80 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration80 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration80 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration80 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration80 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration81 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration81 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration81 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration81 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
The configuration :detachedConfiguration81 is both resolvable and consumable. This is considered a legacy configuration and it will eventually only be possible to be one of these.
The configuration :detachedConfiguration81 is both consumable and declarable. This combination is incorrect, only one of these flags should be set.
Excluding [com.fasterxml.jackson:jackson-bom, com.google.guava:guava-parent]

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not find com.google.code.findbugs:jsr305:.
     Required by:
         project : > com.google.guava:guava:32.1.1-jre
   > Could not find org.checkerframework:checker-qual:.
     Required by:
         project : > com.google.guava:guava:32.1.1-jre
   > Could not find com.google.errorprone:error_prone_annotations:.
     Required by:
         project : > com.google.guava:guava:32.1.1-jre
   > Could not find com.google.j2objc:j2objc-annotations:.
     Required by:
         project : > com.google.guava:guava:32.1.1-jre

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --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 1s
5 actionable tasks: 5 executed
Watched directory hierarchies: [C:\Development\IdeaProjects\PROJECTNAME]
nniesen commented 1 year ago

Having the same issue with 32.1.1-jre dependency. I think your new Gradle Module file is broken. Possibly your project has dynamic dependency versions that are not being resolved to fixed versions before creating the Module file.

Dependency

api 'com.google.guava:guava:32.1.1-jre'

Errors

08:12:27  Execution failed for task ':common-test:compileTestGroovy'.
08:12:27  > Could not resolve all files for configuration ':common-test:testCompileClasspath'.
08:12:27     > Could not find com.google.code.findbugs:jsr305:.
08:12:27       Required by:
08:12:27           project :common-test > org.apache.qpid:qpid-broker-core:9.0.0 > com.google.guava:guava:32.1.1-jre
08:12:27     > Could not find org.checkerframework:checker-qual:.
08:12:27       Required by:
08:12:27           project :common-test > org.apache.qpid:qpid-broker-core:9.0.0 > com.google.guava:guava:32.1.1-jre
08:12:27     > Could not find com.google.errorprone:error_prone_annotations:.
08:12:27       Required by:
08:12:27           project :common-test > org.apache.qpid:qpid-broker-core:9.0.0 > com.google.guava:guava:32.1.1-jre

Work around in our builds :/

        // Fix for the missing versions in the gradle module published for guava 32.1.1-jre
        api 'org.checkerframework:checker-qual:3.36.0'
        api 'com.google.code.findbugs:jsr305:3.0.2'
        api 'com.google.errorprone:error_prone_annotations:2.20.0'
cpovirk commented 1 year ago

Hmm, thanks for reporting.

Could this have something to do with dependency exclusions, as in the armeria case?

https://github.com/line/armeria/blob/d9076b58f9b2b0e7408246208d1ba62eb3d04428/dependencies.toml#L475-L481

Could it be that those exclusions "work" enough to make Gradle not make the dependency available but don't "work" enough to make it stop looking for them? @jjohannes, I feel I'm repeatedly taking advantage of you here, but I don't know enough to know where to go from here on my own :(

cpovirk commented 1 year ago

I accidentally discovered something: My https://github.com/google/guava/pull/6659 (to avoid using dependencyManagement) leads to a similar error:

Execution failed for task ':androidAndroidConstraintCompileClasspathJava:testClasspath'.
1 actionable task: 1 executed
> Could not resolve all files for configuration ':androidAndroidConstraintCompileClasspathJava:compileClasspath'.
   > Could not find com.google.code.findbugs:jsr305:.
     Required by:
         project :androidAndroidConstraintCompileClasspathJava > com.google.guava:guava:HEAD-android-SNAPSHOT
   > Could not find org.checkerframework:checker-qual:.
     Required by:
         project :androidAndroidConstraintCompileClasspathJava > com.google.guava:guava:HEAD-android-SNAPSHOT
   > Could not find com.google.errorprone:error_prone_annotations:.
     Required by:
         project :androidAndroidConstraintCompileClasspathJava > com.google.guava:guava:HEAD-android-SNAPSHOT
   > Could not find com.google.j2objc:j2objc-annotations:.
     Required by:
         project :androidAndroidConstraintCompileClasspathJava > com.google.guava:guava:HEAD-android-SNAPSHOT

That is probably not surprising to @jjohannes, who had talked about putting version numbers into the Gradle metadata—and, I now see more clearly, doing so as a substitute for dependencyManagement. I'll leave a comment about this on #6654, too.

jjohannes commented 1 year ago

I can't clearly see it from the error messages, but my assumption is that the builds that have this issue somehow (unintentionally) exclude the dependency to guava-parent that should bring in the versions. This is new with the Gradle Metadata.

        {
          "group": "com.google.guava",
          "module": "guava-parent",
          "version": {
            "requires": "${pom.version}"
          },
          "attributes": {
            "org.gradle.category": "platform"
          }
        }

See my explanation of why here: https://github.com/google/guava/issues/6654#issuecomment-1656580773

@cpovirk I'll have a look if we can inline the versions in the Gradle Metadata as an alternative to https://github.com/google/guava/commit/71a16d5a7496857a1faf51f9b4098d1f26fe6cd6. Seeing this issue makes me think it would be better to not have unnecessary divergent between how things are seen by Maven and Gradle.

nniesen commented 1 year ago

@jjohannes I don't know if this will help or is relevant to your build process but...

We have an internal gradle bom project and to get it to inherit included boms, so our consumers only need to specify our bom, we had to add the following to our Gradle file.

javaPlatform {
    allowDependencies()
}

We also followed this post to ensure dynamic dependency versions were resolve/pinned in the publish pom: Publishing a POM with resolved/pinned versions: https://github.com/gradle/gradle/issues/8887

I do see you have a resolution that works for you so not looking for a change.