gradlejenkinsjenkins-pluginsguavajenkins-groovy

Cannot choose between the following variants of com.google.guava:guava:33.2.1-jre:


I've below build.gradle -


buildscript {
    repositories {
        maven {
            name 'jenkins'
            url 'https://repo.jenkins-ci.org/releases/'
        }
    }
}

plugins {
    id 'groovy'
    id 'org.jenkins-ci.jpi' version '0.40.0'
    id 'jacoco'
}

jenkinsPlugin {
    jenkinsVersion = '2.462.3'
}

repositories {
    mavenCentral()
    maven {
        name 'jenkins'
        url 'https://repo.jenkins-ci.org/releases/'
    }
}

dependencies {
    implementation 'org.codehaus.groovy:groovy-all:2.5.23'
    implementation('org.jenkins-ci.main:jenkins-core:2.121.2') {
        exclude group: 'com.ibm.icu', module: 'icu4j'
    }

    implementation 'org.jenkins-ci:symbol-annotation:1.25'
    implementation 'javax.servlet:javax.servlet-api:4.0.1'
    implementation("com.cloudbees:groovy-cps:1.21")
    implementation("com.google.guava:guava:11.0.1")

    jenkinsPlugins 'org.jenkins-ci.plugins:extended-choice-parameter:376.v2e02857547b_a_'
    jenkinsPlugins 'org.jenkins-ci.plugins.workflow:workflow-step-api:657.v03b_e8115821b_'
    jenkinsPlugins 'org.jenkins-ci.plugins.workflow:workflow-cps:3853.vb_a_490d892963'
    jenkinsPlugins 'org.jenkins-ci.plugins:subversion:2.9'

    testImplementation 'org.spockframework:spock-core:1.3-groovy-2.5'
    testImplementation 'com.lesfurets:jenkins-pipeline-unit:1.1'
}

sourceSets {
    main {
        groovy {
            srcDirs = ['src']
        }
    }
    test {
        groovy {
            srcDirs = ['test']
        }
    }
}

test {
    testLogging {
        showStandardStreams = true
    }
}


When I run the project with gradle compileGroovy command, I get below error -

gradle compileGroovy
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :localizer
> Task :compileJava NO-SOURCE
> Task :compileGroovy FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileGroovy'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not resolve com.google.guava:guava:11.0.1.
     Required by:
         project :
         project : > com.cloudbees:groovy-cps:1.21
      > Cannot choose between the following variants of com.google.guava:guava:33.2.1-jre:
          - androidApiElements
          - androidRuntimeElements
          - jreApiElements
          - jreRuntimeElements
        All of them match the consumer attributes:
          - Variant 'androidApiElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'android' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
          - Variant 'androidRuntimeElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'android' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.
          - Variant 'jreApiElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'standard-jvm' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
          - Variant 'jreRuntimeElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'standard-jvm' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.
   > Could not resolve com.google.guava:guava:33.2.1-jre.
     Required by:
         project : > org.jenkins-ci.main:jenkins-core:2.462.3
      > Cannot choose between the following variants of com.google.guava:guava:33.2.1-jre:
          - androidApiElements
          - androidRuntimeElements
          - jreApiElements
          - jreRuntimeElements
        All of them match the consumer attributes:
          - Variant 'androidApiElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'android' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
          - Variant 'androidRuntimeElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'android' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.
          - Variant 'jreApiElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'standard-jvm' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
          - Variant 'jreRuntimeElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'standard-jvm' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.
   > Could not resolve com.google.guava:guava:31.0.1-jre.
     Required by:
         project : > org.jenkins-ci.main:jenkins-core:2.462.3 > com.google.inject:guice:6.0.0
      > Cannot choose between the following variants of com.google.guava:guava:33.2.1-jre:
          - androidApiElements
          - androidRuntimeElements
          - jreApiElements
          - jreRuntimeElements
        All of them match the consumer attributes:
          - Variant 'androidApiElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'android' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
          - Variant 'androidRuntimeElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'android' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.
          - Variant 'jreApiElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'standard-jvm' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
          - Variant 'jreRuntimeElements' capabilities com.google.collections:google-collections:33.2.1-jre and com.google.guava:guava:33.2.1-jre:
              - Unmatched attributes:
                  - Found org.gradle.category 'library' but wasn't required.
                  - Found org.gradle.jvm.environment 'standard-jvm' but wasn't required.
                  - Found org.gradle.status 'release' but wasn't required.
              - Compatible attributes:
                  - Required org.gradle.dependency.bundling 'external' and found compatible value 'external'.
                  - Required org.gradle.jvm.version '8' and found compatible value '8'.
                  - Required org.gradle.libraryelements 'classes+resources' and found compatible value 'jar'.
                  - Required org.gradle.usage 'java-api' and found compatible value 'java-runtime'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

how can I fix this error. I tried pegging guava library between different versions but that doesn't work at all.

Any idea how can I fix this?


Solution

  • Try to fix guava version somehow like that

    configurations.all {
        resolutionStrategy {
            force 'com.google.guava:guava:30.1.1-jre'
        }
    }