-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
java.lang.NoSuchMethodError: com.google.common.collect.ImmutableList.builderWithExpectedSize #591
Comments
It looks like it might be failing to resolve the Guava dependency. @GoogleContainerTools/java-tools |
Or a guava buildscript version mismatch?
You can try to force your buildscript version to match jibs and see if that works, although I can't be sure what's causing a non-compatible version to be pulled in
|
Thanks. I'll try to force resolve guava and see if that helps. |
I added an override to configurations.all {
resolutionStrategy {
force 'com.google.guava:guava:23.6.1-jre'
}
} gradle dependencies------------------------------------------------------------ Root project ------------------------------------------------------------ annotationProcessor - Annotation processors and their dependencies for source set 'main'. No dependencies apiElements - API elements for main. (n) No dependencies archives - Configuration for archive artifacts. No dependencies compile - Dependencies for source set 'main' (deprecated, use 'implementation ' instead). +--- project :dataseedingapi | +--- io.grpc:grpc-protobuf-lite:1.6.1 | | +--- io.grpc:grpc-core:1.6.1 -> 1.12.0 | | | +--- io.grpc:grpc-context:1.12.0 | | | +--- com.google.code.gson:gson:2.7 -> 2.8.0 | | | +--- com.google.guava:guava:20.0 -> 23.6.1-jre | | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.0 | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 | | | | +--- com.google.j2objc:j2objc-annotations:1.1 | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 | | | +--- com.google.errorprone:error_prone_annotations:2.1.2 -> 2.1.3 | | | +--- com.google.code.findbugs:jsr305:3.0.0 | | | +--- io.opencensus:opencensus-api:0.11.0 | | | \--- io.opencensus:opencensus-contrib-grpc-metrics:0.11.0 | | | \--- io.opencensus:opencensus-api:0.11.0 | | +--- com.google.protobuf:protobuf-lite:3.0.1 | | \--- com.google.guava:guava:19.0 -> 23.6.1-jre (*) | +--- io.grpc:grpc-stub:1.6.1 | | \--- io.grpc:grpc-core:1.6.1 -> 1.12.0 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | | \--- org.jetbrains:annotations:13.0 | +--- com.squareup.retrofit2:retrofit:2.3.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 | | \--- com.squareup.okio:okio:1.13.0 | +--- com.squareup.retrofit2:converter-gson:2.3.0 | | +--- com.squareup.retrofit2:retrofit:2.3.0 (*) | | \--- com.google.code.gson:gson:2.7 -> 2.8.0 | +--- com.squareup.retrofit2:converter-scalars:2.1.0 | | \--- com.squareup.retrofit2:retrofit:2.1.0 -> 2.3.0 (*) | +--- com.squareup.okhttp3:logging-interceptor:3.8.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 (*) | +--- com.squareup.okhttp3:okhttp:3.9.0 (*) | +--- com.google.code.gson:gson:2.8.0 | +--- org.jsoup:jsoup:1.10.3 | \--- com.github.javafaker:javafaker:0.14 | +--- org.apache.commons:commons-lang3:3.5 | +--- org.yaml:snakeyaml:1.19 | \--- com.github.mifmif:generex:1.0.2 | \--- dk.brics.automaton:automaton:1.11-8 +--- io.grpc:grpc-netty:1.12.0 | +--- io.grpc:grpc-core:[1.12.0] -> 1.12.0 (*) | +--- io.netty:netty-codec-http2:[4.1.22.Final] -> 4.1.22.Final | | +--- io.netty:netty-codec-http:4.1.22.Final | | | \--- io.netty:netty-codec:4.1.22.Final | | | \--- io.netty:netty-transport:4.1.22.Final | | | +--- io.netty:netty-buffer:4.1.22.Final | | | | \--- io.netty:netty-common:4.1.22.Final | | | \--- io.netty:netty-resolver:4.1.22.Final | | | \--- io.netty:netty-common:4.1.22.Final | | \--- io.netty:netty-handler:4.1.22.Final | | +--- io.netty:netty-buffer:4.1.22.Final (*) | | +--- io.netty:netty-transport:4.1.22.Final (*) | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-handler-proxy:4.1.22.Final | +--- io.netty:netty-transport:4.1.22.Final (*) | +--- io.netty:netty-codec-socks:4.1.22.Final | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-codec-http:4.1.22.Final (*) +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*) \--- io.netty:netty-tcnative-boringssl-static:2.0.8.Final compileClasspath - Compile classpath for source set 'main'. +--- project :dataseedingapi | +--- io.grpc:grpc-protobuf-lite:1.6.1 | | +--- io.grpc:grpc-core:1.6.1 -> 1.12.0 | | | +--- io.grpc:grpc-context:1.12.0 | | | +--- com.google.code.gson:gson:2.7 | | | +--- com.google.guava:guava:20.0 -> 23.6.1-jre | | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.0 | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 | | | | +--- com.google.j2objc:j2objc-annotations:1.1 | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 | | | +--- com.google.errorprone:error_prone_annotations:2.1.2 -> 2.1.3 | | | +--- com.google.code.findbugs:jsr305:3.0.0 | | | +--- io.opencensus:opencensus-api:0.11.0 | | | \--- io.opencensus:opencensus-contrib-grpc-metrics:0.11.0 | | | \--- io.opencensus:opencensus-api:0.11.0 | | +--- com.google.protobuf:protobuf-lite:3.0.1 | | \--- com.google.guava:guava:19.0 -> 23.6.1-jre (*) | \--- io.grpc:grpc-stub:1.6.1 | \--- io.grpc:grpc-core:1.6.1 -> 1.12.0 (*) +--- io.grpc:grpc-netty:1.12.0 | +--- io.grpc:grpc-core:[1.12.0] -> 1.12.0 (*) | +--- io.netty:netty-codec-http2:[4.1.22.Final] -> 4.1.22.Final | | +--- io.netty:netty-codec-http:4.1.22.Final | | | \--- io.netty:netty-codec:4.1.22.Final | | | \--- io.netty:netty-transport:4.1.22.Final | | | +--- io.netty:netty-buffer:4.1.22.Final | | | | \--- io.netty:netty-common:4.1.22.Final | | | \--- io.netty:netty-resolver:4.1.22.Final | | | \--- io.netty:netty-common:4.1.22.Final | | \--- io.netty:netty-handler:4.1.22.Final | | +--- io.netty:netty-buffer:4.1.22.Final (*) | | +--- io.netty:netty-transport:4.1.22.Final (*) | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-handler-proxy:4.1.22.Final | +--- io.netty:netty-transport:4.1.22.Final (*) | +--- io.netty:netty-codec-socks:4.1.22.Final | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-codec-http:4.1.22.Final (*) +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | \--- org.jetbrains:annotations:13.0 \--- io.netty:netty-tcnative-boringssl-static:2.0.8.Final compileOnly - Compile only dependencies for source set 'main'. No dependencies default - Configuration for default artifacts. +--- project :dataseedingapi | +--- io.grpc:grpc-protobuf-lite:1.6.1 | | +--- io.grpc:grpc-core:1.6.1 -> 1.12.0 | | | +--- io.grpc:grpc-context:1.12.0 | | | +--- com.google.code.gson:gson:2.7 -> 2.8.0 | | | +--- com.google.guava:guava:20.0 -> 23.6.1-jre | | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.0 | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 | | | | +--- com.google.j2objc:j2objc-annotations:1.1 | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 | | | +--- com.google.errorprone:error_prone_annotations:2.1.2 -> 2.1.3 | | | +--- com.google.code.findbugs:jsr305:3.0.0 | | | +--- io.opencensus:opencensus-api:0.11.0 | | | \--- io.opencensus:opencensus-contrib-grpc-metrics:0.11.0 | | | \--- io.opencensus:opencensus-api:0.11.0 | | +--- com.google.protobuf:protobuf-lite:3.0.1 | | \--- com.google.guava:guava:19.0 -> 23.6.1-jre (*) | +--- io.grpc:grpc-stub:1.6.1 | | \--- io.grpc:grpc-core:1.6.1 -> 1.12.0 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | | \--- org.jetbrains:annotations:13.0 | +--- com.squareup.retrofit2:retrofit:2.3.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 | | \--- com.squareup.okio:okio:1.13.0 | +--- com.squareup.retrofit2:converter-gson:2.3.0 | | +--- com.squareup.retrofit2:retrofit:2.3.0 (*) | | \--- com.google.code.gson:gson:2.7 -> 2.8.0 | +--- com.squareup.retrofit2:converter-scalars:2.1.0 | | \--- com.squareup.retrofit2:retrofit:2.1.0 -> 2.3.0 (*) | +--- com.squareup.okhttp3:logging-interceptor:3.8.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 (*) | +--- com.squareup.okhttp3:okhttp:3.9.0 (*) | +--- com.google.code.gson:gson:2.8.0 | +--- org.jsoup:jsoup:1.10.3 | \--- com.github.javafaker:javafaker:0.14 | +--- org.apache.commons:commons-lang3:3.5 | +--- org.yaml:snakeyaml:1.19 | \--- com.github.mifmif:generex:1.0.2 | \--- dk.brics.automaton:automaton:1.11-8 +--- io.grpc:grpc-netty:1.12.0 | +--- io.grpc:grpc-core:[1.12.0] -> 1.12.0 (*) | +--- io.netty:netty-codec-http2:[4.1.22.Final] -> 4.1.22.Final | | +--- io.netty:netty-codec-http:4.1.22.Final | | | \--- io.netty:netty-codec:4.1.22.Final | | | \--- io.netty:netty-transport:4.1.22.Final | | | +--- io.netty:netty-buffer:4.1.22.Final | | | | \--- io.netty:netty-common:4.1.22.Final | | | \--- io.netty:netty-resolver:4.1.22.Final | | | \--- io.netty:netty-common:4.1.22.Final | | \--- io.netty:netty-handler:4.1.22.Final | | +--- io.netty:netty-buffer:4.1.22.Final (*) | | +--- io.netty:netty-transport:4.1.22.Final (*) | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-handler-proxy:4.1.22.Final | +--- io.netty:netty-transport:4.1.22.Final (*) | +--- io.netty:netty-codec-socks:4.1.22.Final | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-codec-http:4.1.22.Final (*) +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*) \--- io.netty:netty-tcnative-boringssl-static:2.0.8.Final implementation - Implementation only dependencies for source set 'main'. (n) No dependencies kapt \--- org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.2.40 +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | \--- org.jetbrains:annotations:13.0 \--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.40 +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*) \--- org.jetbrains.kotlin:kotlin-script-runtime:1.2.40 kaptTest \--- org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.2.40 +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | \--- org.jetbrains:annotations:13.0 \--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.40 +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*) \--- org.jetbrains.kotlin:kotlin-script-runtime:1.2.40 runtime - Runtime dependencies for source set 'main' (deprecated, use 'runtimeOnly ' instead). +--- project :dataseedingapi | +--- io.grpc:grpc-protobuf-lite:1.6.1 | | +--- io.grpc:grpc-core:1.6.1 -> 1.12.0 | | | +--- io.grpc:grpc-context:1.12.0 | | | +--- com.google.code.gson:gson:2.7 -> 2.8.0 | | | +--- com.google.guava:guava:20.0 -> 23.6.1-jre | | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.0 | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 | | | | +--- com.google.j2objc:j2objc-annotations:1.1 | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 | | | +--- com.google.errorprone:error_prone_annotations:2.1.2 -> 2.1.3 | | | +--- com.google.code.findbugs:jsr305:3.0.0 | | | +--- io.opencensus:opencensus-api:0.11.0 | | | \--- io.opencensus:opencensus-contrib-grpc-metrics:0.11.0 | | | \--- io.opencensus:opencensus-api:0.11.0 | | +--- com.google.protobuf:protobuf-lite:3.0.1 | | \--- com.google.guava:guava:19.0 -> 23.6.1-jre (*) | +--- io.grpc:grpc-stub:1.6.1 | | \--- io.grpc:grpc-core:1.6.1 -> 1.12.0 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | | \--- org.jetbrains:annotations:13.0 | +--- com.squareup.retrofit2:retrofit:2.3.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 | | \--- com.squareup.okio:okio:1.13.0 | +--- com.squareup.retrofit2:converter-gson:2.3.0 | | +--- com.squareup.retrofit2:retrofit:2.3.0 (*) | | \--- com.google.code.gson:gson:2.7 -> 2.8.0 | +--- com.squareup.retrofit2:converter-scalars:2.1.0 | | \--- com.squareup.retrofit2:retrofit:2.1.0 -> 2.3.0 (*) | +--- com.squareup.okhttp3:logging-interceptor:3.8.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 (*) | +--- com.squareup.okhttp3:okhttp:3.9.0 (*) | +--- com.google.code.gson:gson:2.8.0 | +--- org.jsoup:jsoup:1.10.3 | \--- com.github.javafaker:javafaker:0.14 | +--- org.apache.commons:commons-lang3:3.5 | +--- org.yaml:snakeyaml:1.19 | \--- com.github.mifmif:generex:1.0.2 | \--- dk.brics.automaton:automaton:1.11-8 +--- io.grpc:grpc-netty:1.12.0 | +--- io.grpc:grpc-core:[1.12.0] -> 1.12.0 (*) | +--- io.netty:netty-codec-http2:[4.1.22.Final] -> 4.1.22.Final | | +--- io.netty:netty-codec-http:4.1.22.Final | | | \--- io.netty:netty-codec:4.1.22.Final | | | \--- io.netty:netty-transport:4.1.22.Final | | | +--- io.netty:netty-buffer:4.1.22.Final | | | | \--- io.netty:netty-common:4.1.22.Final | | | \--- io.netty:netty-resolver:4.1.22.Final | | | \--- io.netty:netty-common:4.1.22.Final | | \--- io.netty:netty-handler:4.1.22.Final | | +--- io.netty:netty-buffer:4.1.22.Final (*) | | +--- io.netty:netty-transport:4.1.22.Final (*) | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-handler-proxy:4.1.22.Final | +--- io.netty:netty-transport:4.1.22.Final (*) | +--- io.netty:netty-codec-socks:4.1.22.Final | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-codec-http:4.1.22.Final (*) +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*) \--- io.netty:netty-tcnative-boringssl-static:2.0.8.Final runtimeClasspath - Runtime classpath of source set 'main'. +--- project :dataseedingapi | +--- io.grpc:grpc-protobuf-lite:1.6.1 | | +--- io.grpc:grpc-core:1.6.1 -> 1.12.0 | | | +--- io.grpc:grpc-context:1.12.0 | | | +--- com.google.code.gson:gson:2.7 -> 2.8.0 | | | +--- com.google.guava:guava:20.0 -> 23.6.1-jre | | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.0 | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 | | | | +--- com.google.j2objc:j2objc-annotations:1.1 | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 | | | +--- com.google.errorprone:error_prone_annotations:2.1.2 -> 2.1.3 | | | +--- com.google.code.findbugs:jsr305:3.0.0 | | | +--- io.opencensus:opencensus-api:0.11.0 | | | \--- io.opencensus:opencensus-contrib-grpc-metrics:0.11.0 | | | \--- io.opencensus:opencensus-api:0.11.0 | | +--- com.google.protobuf:protobuf-lite:3.0.1 | | \--- com.google.guava:guava:19.0 -> 23.6.1-jre (*) | +--- io.grpc:grpc-stub:1.6.1 | | \--- io.grpc:grpc-core:1.6.1 -> 1.12.0 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | | \--- org.jetbrains:annotations:13.0 | +--- com.squareup.retrofit2:retrofit:2.3.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 | | \--- com.squareup.okio:okio:1.13.0 | +--- com.squareup.retrofit2:converter-gson:2.3.0 | | +--- com.squareup.retrofit2:retrofit:2.3.0 (*) | | \--- com.google.code.gson:gson:2.7 -> 2.8.0 | +--- com.squareup.retrofit2:converter-scalars:2.1.0 | | \--- com.squareup.retrofit2:retrofit:2.1.0 -> 2.3.0 (*) | +--- com.squareup.okhttp3:logging-interceptor:3.8.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 (*) | +--- com.squareup.okhttp3:okhttp:3.9.0 (*) | +--- com.google.code.gson:gson:2.8.0 | +--- org.jsoup:jsoup:1.10.3 | \--- com.github.javafaker:javafaker:0.14 | +--- org.apache.commons:commons-lang3:3.5 | +--- org.yaml:snakeyaml:1.19 | \--- com.github.mifmif:generex:1.0.2 | \--- dk.brics.automaton:automaton:1.11-8 +--- io.grpc:grpc-netty:1.12.0 | +--- io.grpc:grpc-core:[1.12.0] -> 1.12.0 (*) | +--- io.netty:netty-codec-http2:[4.1.22.Final] -> 4.1.22.Final | | +--- io.netty:netty-codec-http:4.1.22.Final | | | \--- io.netty:netty-codec:4.1.22.Final | | | \--- io.netty:netty-transport:4.1.22.Final | | | +--- io.netty:netty-buffer:4.1.22.Final | | | | \--- io.netty:netty-common:4.1.22.Final | | | \--- io.netty:netty-resolver:4.1.22.Final | | | \--- io.netty:netty-common:4.1.22.Final | | \--- io.netty:netty-handler:4.1.22.Final | | +--- io.netty:netty-buffer:4.1.22.Final (*) | | +--- io.netty:netty-transport:4.1.22.Final (*) | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-handler-proxy:4.1.22.Final | +--- io.netty:netty-transport:4.1.22.Final (*) | +--- io.netty:netty-codec-socks:4.1.22.Final | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-codec-http:4.1.22.Final (*) +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*) \--- io.netty:netty-tcnative-boringssl-static:2.0.8.Final runtimeElements - Elements of runtime for main. (n) No dependencies runtimeOnly - Runtime only dependencies for source set 'main'. (n) No dependencies testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'. No dependencies testCompile - Dependencies for source set 'test' (deprecated, use 'testImplementation ' instead). +--- project :dataseedingapi | +--- io.grpc:grpc-protobuf-lite:1.6.1 | | +--- io.grpc:grpc-core:1.6.1 -> 1.12.0 | | | +--- io.grpc:grpc-context:1.12.0 | | | +--- com.google.code.gson:gson:2.7 -> 2.8.0 | | | +--- com.google.guava:guava:20.0 -> 23.6.1-jre | | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.0 | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 | | | | +--- com.google.j2objc:j2objc-annotations:1.1 | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 | | | +--- com.google.errorprone:error_prone_annotations:2.1.2 -> 2.1.3 | | | +--- com.google.code.findbugs:jsr305:3.0.0 | | | +--- io.opencensus:opencensus-api:0.11.0 | | | \--- io.opencensus:opencensus-contrib-grpc-metrics:0.11.0 | | | \--- io.opencensus:opencensus-api:0.11.0 | | +--- com.google.protobuf:protobuf-lite:3.0.1 | | \--- com.google.guava:guava:19.0 -> 23.6.1-jre (*) | +--- io.grpc:grpc-stub:1.6.1 | | \--- io.grpc:grpc-core:1.6.1 -> 1.12.0 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | | \--- org.jetbrains:annotations:13.0 | +--- com.squareup.retrofit2:retrofit:2.3.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 | | \--- com.squareup.okio:okio:1.13.0 | +--- com.squareup.retrofit2:converter-gson:2.3.0 | | +--- com.squareup.retrofit2:retrofit:2.3.0 (*) | | \--- com.google.code.gson:gson:2.7 -> 2.8.0 | +--- com.squareup.retrofit2:converter-scalars:2.1.0 | | \--- com.squareup.retrofit2:retrofit:2.1.0 -> 2.3.0 (*) | +--- com.squareup.okhttp3:logging-interceptor:3.8.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 (*) | +--- com.squareup.okhttp3:okhttp:3.9.0 (*) | +--- com.google.code.gson:gson:2.8.0 | +--- org.jsoup:jsoup:1.10.3 | \--- com.github.javafaker:javafaker:0.14 | +--- org.apache.commons:commons-lang3:3.5 | +--- org.yaml:snakeyaml:1.19 | \--- com.github.mifmif:generex:1.0.2 | \--- dk.brics.automaton:automaton:1.11-8 +--- io.grpc:grpc-netty:1.12.0 | +--- io.grpc:grpc-core:[1.12.0] -> 1.12.0 (*) | +--- io.netty:netty-codec-http2:[4.1.22.Final] -> 4.1.22.Final | | +--- io.netty:netty-codec-http:4.1.22.Final | | | \--- io.netty:netty-codec:4.1.22.Final | | | \--- io.netty:netty-transport:4.1.22.Final | | | +--- io.netty:netty-buffer:4.1.22.Final | | | | \--- io.netty:netty-common:4.1.22.Final | | | \--- io.netty:netty-resolver:4.1.22.Final | | | \--- io.netty:netty-common:4.1.22.Final | | \--- io.netty:netty-handler:4.1.22.Final | | +--- io.netty:netty-buffer:4.1.22.Final (*) | | +--- io.netty:netty-transport:4.1.22.Final (*) | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-handler-proxy:4.1.22.Final | +--- io.netty:netty-transport:4.1.22.Final (*) | +--- io.netty:netty-codec-socks:4.1.22.Final | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-codec-http:4.1.22.Final (*) +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*) +--- io.netty:netty-tcnative-boringssl-static:2.0.8.Final \--- junit:junit:4.12 \--- org.hamcrest:hamcrest-core:1.3 testCompileClasspath - Compile classpath for source set 'test'. +--- project :dataseedingapi | +--- io.grpc:grpc-protobuf-lite:1.6.1 | | +--- io.grpc:grpc-core:1.6.1 -> 1.12.0 | | | +--- io.grpc:grpc-context:1.12.0 | | | +--- com.google.code.gson:gson:2.7 | | | +--- com.google.guava:guava:20.0 -> 23.6.1-jre | | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.0 | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 | | | | +--- com.google.j2objc:j2objc-annotations:1.1 | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 | | | +--- com.google.errorprone:error_prone_annotations:2.1.2 -> 2.1.3 | | | +--- com.google.code.findbugs:jsr305:3.0.0 | | | +--- io.opencensus:opencensus-api:0.11.0 | | | \--- io.opencensus:opencensus-contrib-grpc-metrics:0.11.0 | | | \--- io.opencensus:opencensus-api:0.11.0 | | +--- com.google.protobuf:protobuf-lite:3.0.1 | | \--- com.google.guava:guava:19.0 -> 23.6.1-jre (*) | \--- io.grpc:grpc-stub:1.6.1 | \--- io.grpc:grpc-core:1.6.1 -> 1.12.0 (*) +--- io.grpc:grpc-netty:1.12.0 | +--- io.grpc:grpc-core:[1.12.0] -> 1.12.0 (*) | +--- io.netty:netty-codec-http2:[4.1.22.Final] -> 4.1.22.Final | | +--- io.netty:netty-codec-http:4.1.22.Final | | | \--- io.netty:netty-codec:4.1.22.Final | | | \--- io.netty:netty-transport:4.1.22.Final | | | +--- io.netty:netty-buffer:4.1.22.Final | | | | \--- io.netty:netty-common:4.1.22.Final | | | \--- io.netty:netty-resolver:4.1.22.Final | | | \--- io.netty:netty-common:4.1.22.Final | | \--- io.netty:netty-handler:4.1.22.Final | | +--- io.netty:netty-buffer:4.1.22.Final (*) | | +--- io.netty:netty-transport:4.1.22.Final (*) | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-handler-proxy:4.1.22.Final | +--- io.netty:netty-transport:4.1.22.Final (*) | +--- io.netty:netty-codec-socks:4.1.22.Final | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-codec-http:4.1.22.Final (*) +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | \--- org.jetbrains:annotations:13.0 +--- io.netty:netty-tcnative-boringssl-static:2.0.8.Final \--- junit:junit:4.12 \--- org.hamcrest:hamcrest-core:1.3 testCompileOnly - Compile only dependencies for source set 'test'. No dependencies testImplementation - Implementation only dependencies for source set 'test'. (n) No dependencies testRuntime - Runtime dependencies for source set 'test' (deprecated, use 'testRuntimeOnly ' instead). +--- project :dataseedingapi | +--- io.grpc:grpc-protobuf-lite:1.6.1 | | +--- io.grpc:grpc-core:1.6.1 -> 1.12.0 | | | +--- io.grpc:grpc-context:1.12.0 | | | +--- com.google.code.gson:gson:2.7 -> 2.8.0 | | | +--- com.google.guava:guava:20.0 -> 23.6.1-jre | | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.0 | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 | | | | +--- com.google.j2objc:j2objc-annotations:1.1 | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 | | | +--- com.google.errorprone:error_prone_annotations:2.1.2 -> 2.1.3 | | | +--- com.google.code.findbugs:jsr305:3.0.0 | | | +--- io.opencensus:opencensus-api:0.11.0 | | | \--- io.opencensus:opencensus-contrib-grpc-metrics:0.11.0 | | | \--- io.opencensus:opencensus-api:0.11.0 | | +--- com.google.protobuf:protobuf-lite:3.0.1 | | \--- com.google.guava:guava:19.0 -> 23.6.1-jre (*) | +--- io.grpc:grpc-stub:1.6.1 | | \--- io.grpc:grpc-core:1.6.1 -> 1.12.0 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | | \--- org.jetbrains:annotations:13.0 | +--- com.squareup.retrofit2:retrofit:2.3.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 | | \--- com.squareup.okio:okio:1.13.0 | +--- com.squareup.retrofit2:converter-gson:2.3.0 | | +--- com.squareup.retrofit2:retrofit:2.3.0 (*) | | \--- com.google.code.gson:gson:2.7 -> 2.8.0 | +--- com.squareup.retrofit2:converter-scalars:2.1.0 | | \--- com.squareup.retrofit2:retrofit:2.1.0 -> 2.3.0 (*) | +--- com.squareup.okhttp3:logging-interceptor:3.8.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 (*) | +--- com.squareup.okhttp3:okhttp:3.9.0 (*) | +--- com.google.code.gson:gson:2.8.0 | +--- org.jsoup:jsoup:1.10.3 | \--- com.github.javafaker:javafaker:0.14 | +--- org.apache.commons:commons-lang3:3.5 | +--- org.yaml:snakeyaml:1.19 | \--- com.github.mifmif:generex:1.0.2 | \--- dk.brics.automaton:automaton:1.11-8 +--- io.grpc:grpc-netty:1.12.0 | +--- io.grpc:grpc-core:[1.12.0] -> 1.12.0 (*) | +--- io.netty:netty-codec-http2:[4.1.22.Final] -> 4.1.22.Final | | +--- io.netty:netty-codec-http:4.1.22.Final | | | \--- io.netty:netty-codec:4.1.22.Final | | | \--- io.netty:netty-transport:4.1.22.Final | | | +--- io.netty:netty-buffer:4.1.22.Final | | | | \--- io.netty:netty-common:4.1.22.Final | | | \--- io.netty:netty-resolver:4.1.22.Final | | | \--- io.netty:netty-common:4.1.22.Final | | \--- io.netty:netty-handler:4.1.22.Final | | +--- io.netty:netty-buffer:4.1.22.Final (*) | | +--- io.netty:netty-transport:4.1.22.Final (*) | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-handler-proxy:4.1.22.Final | +--- io.netty:netty-transport:4.1.22.Final (*) | +--- io.netty:netty-codec-socks:4.1.22.Final | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-codec-http:4.1.22.Final (*) +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*) +--- io.netty:netty-tcnative-boringssl-static:2.0.8.Final \--- junit:junit:4.12 \--- org.hamcrest:hamcrest-core:1.3 testRuntimeClasspath - Runtime classpath of source set 'test'. +--- project :dataseedingapi | +--- io.grpc:grpc-protobuf-lite:1.6.1 | | +--- io.grpc:grpc-core:1.6.1 -> 1.12.0 | | | +--- io.grpc:grpc-context:1.12.0 | | | +--- com.google.code.gson:gson:2.7 -> 2.8.0 | | | +--- com.google.guava:guava:20.0 -> 23.6.1-jre | | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.0 | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 | | | | +--- com.google.j2objc:j2objc-annotations:1.1 | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 | | | +--- com.google.errorprone:error_prone_annotations:2.1.2 -> 2.1.3 | | | +--- com.google.code.findbugs:jsr305:3.0.0 | | | +--- io.opencensus:opencensus-api:0.11.0 | | | \--- io.opencensus:opencensus-contrib-grpc-metrics:0.11.0 | | | \--- io.opencensus:opencensus-api:0.11.0 | | +--- com.google.protobuf:protobuf-lite:3.0.1 | | \--- com.google.guava:guava:19.0 -> 23.6.1-jre (*) | +--- io.grpc:grpc-stub:1.6.1 | | \--- io.grpc:grpc-core:1.6.1 -> 1.12.0 (*) | +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 | | \--- org.jetbrains:annotations:13.0 | +--- com.squareup.retrofit2:retrofit:2.3.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 | | \--- com.squareup.okio:okio:1.13.0 | +--- com.squareup.retrofit2:converter-gson:2.3.0 | | +--- com.squareup.retrofit2:retrofit:2.3.0 (*) | | \--- com.google.code.gson:gson:2.7 -> 2.8.0 | +--- com.squareup.retrofit2:converter-scalars:2.1.0 | | \--- com.squareup.retrofit2:retrofit:2.1.0 -> 2.3.0 (*) | +--- com.squareup.okhttp3:logging-interceptor:3.8.0 | | \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.9.0 (*) | +--- com.squareup.okhttp3:okhttp:3.9.0 (*) | +--- com.google.code.gson:gson:2.8.0 | +--- org.jsoup:jsoup:1.10.3 | \--- com.github.javafaker:javafaker:0.14 | +--- org.apache.commons:commons-lang3:3.5 | +--- org.yaml:snakeyaml:1.19 | \--- com.github.mifmif:generex:1.0.2 | \--- dk.brics.automaton:automaton:1.11-8 +--- io.grpc:grpc-netty:1.12.0 | +--- io.grpc:grpc-core:[1.12.0] -> 1.12.0 (*) | +--- io.netty:netty-codec-http2:[4.1.22.Final] -> 4.1.22.Final | | +--- io.netty:netty-codec-http:4.1.22.Final | | | \--- io.netty:netty-codec:4.1.22.Final | | | \--- io.netty:netty-transport:4.1.22.Final | | | +--- io.netty:netty-buffer:4.1.22.Final | | | | \--- io.netty:netty-common:4.1.22.Final | | | \--- io.netty:netty-resolver:4.1.22.Final | | | \--- io.netty:netty-common:4.1.22.Final | | \--- io.netty:netty-handler:4.1.22.Final | | +--- io.netty:netty-buffer:4.1.22.Final (*) | | +--- io.netty:netty-transport:4.1.22.Final (*) | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-handler-proxy:4.1.22.Final | +--- io.netty:netty-transport:4.1.22.Final (*) | +--- io.netty:netty-codec-socks:4.1.22.Final | | \--- io.netty:netty-codec:4.1.22.Final (*) | \--- io.netty:netty-codec-http:4.1.22.Final (*) +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*) +--- io.netty:netty-tcnative-boringssl-static:2.0.8.Final \--- junit:junit:4.12 \--- org.hamcrest:hamcrest-core:1.3 testRuntimeOnly - Runtime only dependencies for source set 'test'. (n) No dependencies (*) - dependencies omitted (listed previously) A web-based, searchable dependency report is available by adding the --scan option. BUILD SUCCESSFUL in 0s 1 actionable task: 1 executed |
Buildscript modification is also resulting in the same error: buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "com.google.guava:guava:23.6.1-jre"
classpath Plugins.KOTLIN
}
} |
Ah sorry, I should have been more clear, the buildscript classpath is separate from your application, it's the classpath of the instance of gradle+plugins building your application. But it looks like you covered it anyway in : #591 (comment) I still think it could be a buildscript dependency issue:
|
gradle buildEnvironment------------------------------------------------------------ Root project ------------------------------------------------------------
GlobalDependencies.kt#L80 defines
This is an older release, however it's the same project I'm working on: I'll see if I can update the open source to get a reproducible example. |
So there is a quirk of gradle where a parent build classpath take priority over a child buildscript classpath (https://discuss.gradle.org/t/version-is-root-build-gradle-buildscript-is-overriding-subproject-buildscript-dependency-versions/20746) The protobuf-gradle-plugin in the soseedgrpc and dataseedingapi projects appears to be pulling in guava:18 see: https://github.com/google/protobuf-gradle-plugin/blob/master/build.gradle#L68 Now, if my assumptions are correct, you might be able to fix this by putting the guava version override in your root bulid.gradle (in buildscript classpath above other dependencies) |
I put buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("com.google.guava:guava:23.6.1-jre")
}
} at the top of all the build.gradle files and it didn't help. 😭 |
I think jib may want to shade guava. |
Any chance you could provide a minimal project so I can analyze the problem on my machine? |
That reproduces the problem using the open source version. Note that |
@bootstraponline, it would have been really helpful if the gradlew was the correct version. I ended up disabling jib to update the gradle wrapper and then re-enabling jib. |
Yeah it is in the private repo. Unfortunately updating gradle in the public one breaks all the builds. I am working on a better process for our open source code so it's possible to keep up to date. I couldn't get the error to reproduce on a sample project. |
There are some updates on the other thread: It looks like |
Right, the problem is dealing with how gradle resolves buildscript classpath dependencies, and not a problem with the protobuf plugin itself. One more clue in this problem is that it looks like I'm seeing this info using code from this example. Just put it in your build.gradle and have it execute.
run
I still can't figure out why this is being loaded in, when all buildscript info is pointing to |
okay, so I just saw @ejona86's reference to a core gradle bug about guava leaking in gradle/gradle#3698. But it's weird that we're only seeing this intermittently (just your project?). |
Yeah, I have no idea why it's only my project that triggers the gradle core issue. I'm getting the same output from the code snippet:
I am working with our Android team to update the open source repo. I think for now I'll have to use the distroless docker images directly. I'm worried about adding a bunch of complexity that can't be easily debugged or fixed. I wish Gradle didn't have so many sharp corners. Thanks for your help in investigating the problem! |
Closing - feel free to reopen if you have any further questions! |
I'm currently running into the same issue. While overriding guava is a Gradle issue, I think it would still be great if the plugin could either eliminate the guava third-party dependency or shade it along the line of https://github.com/project-aries/docker-java-shaded to become standalone again and works regardless of what other plugins are in use. |
@coollog is a workaround known please? I've skimmed through this bug but nothing seems to be working for me. The steps to reproduce are easy:
slovdahl's workaround of excluding guava in |
Hi @mvysny, I think your issue is different from this. I put the following at the top of your buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("com.google.guava:guava:27.0.1-jre")
}
}
|
@mvysny your sample program works well too:
|
@chanseokoh awesome, your suggestion also worked for me! Thank you :) |
I experience this issue with Gradle 5.6.2. The mentioned gradle/gradle#3698 bug supposed to be fixed there already. Adding Guava dependency in the |
Hi @sergeykad, recent Jib versions use Guava 28. Try forcing guava 28.0-jre by following #1390 (comment). If it doesn't work, could you provide us a small sample that reproduces the issue (e.g., like #591 (comment))? |
@chanseokoh I tried it now, but no dice. BTW I use guava 28.0-jre in my project too. I will try to create a sample next week. |
Running
The |
Ah, great! I have been looking for this command for months. Thanks for the tip. And I just realized #591 (comment) doesn't force a certain Guava version. See #1390 (comment) for the If that fails, you can explicitly exclude Guava from the plugin: classpath('com.netflix.nebula:gradle-lint-plugin:latest.release') {
exclude group: 'com.google.guava', module: 'guava'
} |
I believe you can just include it with the Netflix nebula dependency (instead of at the subproject level) and it should work. Subproject buildscript dependencies can't override parent ones. |
For others that run into this issue and the above doesn't help, I found in my own build that dependencies forced in the main build in buildscript {
dependencies {
...
}
} would be ignored if they are already resolved from dependencies declared in the buildSrc/build.gradle. So make sure that the dependency conflict is resolved there if you have a buildSrc build.gradle file. |
Aha, this makes a lot of sense. That also explains why you cannot override parent dependencies from subproject buildscripts. Thanks for the tip! |
Hello from 2023:
This should probably be re-opened and a fresh look given at shading |
@chanseokoh we are authors of Gradle plugins ourselves so classpath issues are pretty familiar We've seen the FAQ and followed all possible options, as well as in this thread, with no success. Our project structure is a bit different than what we've seen here, though. |
Can I politely ask why you don't choose to shade Guava? It has caused so many issues for us with Jib, and it is a relatively small dependency. We would be very in favor of shading as a possible fix. gRPC shades the entirety of Netty to avoid similar issues and this seems less costly by comparison. |
Do note that Gradle has a bug where its I am not in the position to answer why Jib doesn't shade its dependences, sorry. |
We've generally tried to avoid shading. Is jib at too old a version or too new a version of guava? |
Thank you, yes, I know. It is not easily fixable, though, because, as you say, the effective Altogether these conditions make this bug nearly impossible to solve for regular users or even skilled users like us.
It's a
I understand this will increase the size of the shipped JAR and of course adds build complexity, but we are completely unable to push images for our app at the moment, since we relied on Jib to do that and now it is broken. This is only Jib's fault insofar as it relies on a stable version of Guava which works with transitive dependencies and is unshaded. The only part under Jib's control is to shade/not shade, then, since Gradle isn't reliably handling these dependencies, even at latest (we're on We could get something else working, but Jib's responsibility at this pivotal juncture means we are unlikely to come back to it even though we love it. I.e. the pain of working around this bug is more than the benefit offered by the library, in some cases. This can sneak into a build pretty easily, because people often don't run Jib until it is time to deploy (since pushing and storing containers is costly!). So, you work for a few days/weeks/months, then go to deploy, and now you hit this bug. What happened along the way to shift your Guava version, in the last N commits? The answer is very hard to locate, as it turns out. I'm just saying that, as a user journey, it doesn't get any worse than a confusing and broken experience. Ultimately, the few-megabytes of shading starts to look smaller and smaller from where we stand, but again this is just one user's perspective, having used Jib since the very beginning. |
(One more note: I've now observed this very same bug in a completely unrelated Android project. I'll try to isolate there as it might yield clues to what is causing this with Jib. Literally the same exact symbol and exception, but over here, when adding |
Description of the issue:
./gradlew jib
failsExpected behavior:
./gradlew jib
worksSteps to reproduce:
I added jib to my project and
./gradlew jib
is broken.Environment:
jib-gradle-plugin
Configuration:Log output:
Gradle stacktrace
Additional Information:
I'm using Kotlin.
./gradlew assemble
works.The text was updated successfully, but these errors were encountered: