Description of the issue:
./gradlew jib fails
Expected behavior:
./gradlew jib works
Steps to reproduce:
I added jib to my project and ./gradlew jib is broken.
Environment:
jib-gradle-plugin Configuration:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath Plugins.KOTLIN
}
}
plugins {
// https://plugins.gradle.org/plugin/com.google.cloud.tools.jib
id 'com.google.cloud.tools.jib' version '0.9.6'
}
apply plugin: 'java'
apply plugin: 'kotlin'
jib.to.image = 'gcr.io/delta-essence-114723/soseedy'
dependencies {
compile project(':dataseedingapi')
// https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.grpc%22%20a%3A%22grpc-netty%22
compile 'io.grpc:grpc-netty:1.12.0'
compile Libs.KOTLIN_STD_LIB
// https://mvnrepository.com/artifact/io.netty/netty-tcnative-boringssl-static
compile 'io.netty:netty-tcnative-boringssl-static:2.0.8.Final'
testCompile Libs.JUNIT
}
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
repositories {
mavenCentral()
}
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
task("fatJar", type: Jar) {
baseName = "${project.name}-all"
manifest {
attributes 'Main-Class': 'com.instructure.dataseeding.OutOfProcessServer'
}
from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
**Log output**:
warning: Base image 'gcr.io/distroless/java' does not use a specific image digest - build may not be reproducible
Containerizing application to gcr.io/delta-essence-114723/soseedy...
Retrieving registry credentials for gcr.io...
Getting base image gcr.io/distroless/java...
Building dependencies layer...
Building resources layer...
Building classes layer...
> Task :jib FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':jib'.
> com.google.common.collect.ImmutableList.builderWithExpectedSize(I)Lcom/google/common/collect/ImmutableList$Builder;
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':jib'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:262)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:246)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:136)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:201)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.executeWithTask(DefaultTaskPlanExecutor.java:192)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: java.lang.NoSuchMethodError: com.google.common.collect.ImmutableList.builderWithExpectedSize(I)Lcom/google/common/collect/ImmutableList$Builder;
at com.google.cloud.tools.jib.builder.EntrypointBuilder.makeEntrypoint(EntrypointBuilder.java:46)
at com.google.cloud.tools.jib.builder.BuildSteps.getEntrypoint(BuildSteps.java:128)
at com.google.cloud.tools.jib.builder.BuildSteps.lambda$forBuildToDockerRegistry$0(BuildSteps.java:85)
at com.google.cloud.tools.jib.builder.BuildSteps.run(BuildSteps.java:197)
at com.google.cloud.tools.jib.frontend.BuildStepsRunner.build(BuildStepsRunner.java:187)
at com.google.cloud.tools.jib.gradle.BuildImageTask.buildImage(BuildImageTask.java:150)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:794)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:761)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
... 30 more
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.8.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 1s
11 actionable tasks: 2 executed, 9 up-to-date
Additional Information:
I'm using Kotlin. ./gradlew assemble works.
It looks like it might be failing to resolve the Guava dependency. @GoogleContainerTools/java-tools
Or a guava buildscript version mismatch?
builderWithExpectedSize is from version 23.1 onwards.
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
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "com.google.guava:guava:23.5-jre"
classpath Plugins.KOTLIN
}
}
Thanks. I'll try to force resolve guava and see if that helps.
I added an override to build.gradle then I ran ./gradlew dependencies I'm still getting the same error. Is there any other solution I can try?
configurations.all {
resolutionStrategy {
force 'com.google.guava:guava:23.6.1-jre'
}
}
------------------------------------------------------------
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 : https://github.com/GoogleContainerTools/jib/issues/591#issuecomment-404698414
I still think it could be a buildscript dependency issue:
gradle buildEnvironment and see what the output is?Can you run gradle buildEnvironment and see what the output is?
gradle buildEnvironment
------------------------------------------------------------
Root project
------------------------------------------------------------
classpath
+--- com.google.guava:guava:23.6.1-jre
| +--- com.google.code.findbugs:jsr305:1.3.9
| +--- 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
+--- org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40
| +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.2.40
| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40
| | \--- org.jetbrains:annotations:13.0
| +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*)
| +--- 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
| +--- org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.2.40
| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*)
| | \--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.40 (*)
| +--- org.jetbrains.kotlin:kotlin-android-extensions:1.2.40
| | \--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.40 (*)
| +--- org.jetbrains.kotlin:kotlin-compiler-runner:1.2.40
| | +--- org.jetbrains.kotlin:kotlin-build-common:1.2.40
| | \--- org.jetbrains.kotlin:kotlin-daemon-client:1.2.40
| \--- org.jetbrains.kotlin:kotlin-reflect:1.2.40
| \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.40 (*)
\--- com.google.cloud.tools.jib:com.google.cloud.tools.jib.gradle.plugin:0.9.6
\--- gradle.plugin.com.google.cloud.tools:jib-gradle-plugin:0.9.6
+--- com.google.http-client:google-http-client:1.23.0
| +--- com.google.code.findbugs:jsr305:1.3.9
| \--- org.apache.httpcomponents:httpclient:4.0.1
| +--- org.apache.httpcomponents:httpcore:4.0.1
| +--- commons-logging:commons-logging:1.1.1
| \--- commons-codec:commons-codec:1.3
+--- org.apache.commons:commons-compress:1.17
+--- com.google.guava:guava:23.5-jre -> 23.6.1-jre (*)
+--- com.fasterxml.jackson.core:jackson-databind:2.9.6
| +--- com.fasterxml.jackson.core:jackson-annotations:2.9.0
| \--- com.fasterxml.jackson.core:jackson-core:2.9.6
+--- org.slf4j:slf4j-api:1.7.25
\--- org.javassist:javassist:3.22.0-GA
(*) - 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
I'm not familiar with Plugins.KOTLIN, what is that referencing? Can you point me to where you found that?
GlobalDependencies.kt#L80 defines Plugins.KOTLIN in the buildSrc symlink.
Do you have a parent build.gradle that is bringing in buildscript dependencies?
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)
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 even tried a resolution strategy in the buildscript
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?
Any chance you could provide a minimal project so I can analyze the problem on my machine?
git clone https://github.com/instructure/instructure-android.gitcd instructure-android/automation/soseedygrpcgradle jibThat reproduces the problem using the open source version. Note that gradle is used directly instead of gradlew
@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.
@bootstraponline, it would have been really helpful if the gradlew was the correct version
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 protobuf-gradle-plugin is not the issue. It's not clear to me how to resolve the problem.
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 ImmutableList is being loaded fromguava-22?!, that doesn't really make sense to me.
I'm seeing this info using code from this example. Just put it in your build.gradle and have it execute.
Class klass = com.google.common.collect.ImmutableList.class;
URL location = klass.getResource('/' + klass.getName().replace('.', '/') + ".class");
println "ImmutableClass from: " + location
run ./gradlew tasks or gradle tasks and you'll see the output
ImmutableList from:jar:file:/user-home/.gradle./caches/modules-2/files-2.1/com.google.guava/guava/22.0/3564ef3803de51fb0530a8377ec6100b33b0d073/guava-22.0.jar!/com/google/common/collect/ImmutableList.class
I still can't figure out why this is being loaded in, when all buildscript info is pointing to 23.5-jre. I might need to take a deeper look into buildscript deps.
okay, so I just saw @ejona86's reference to a core gradle bug about guava leaking in https://github.com/gradle/gradle/issues/3698. But it's weird that we're only seeing this intermittently (just your project?).
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:
ImmutableClass from: jar:file:/Users/user/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/22.0/3564ef3803de51fb0530a8377ec6100b33b0d073/guava-22.0.jar!/com/google/common/collect/ImmutableList.class
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:
plugins {} stanza and add id("com.google.cloud.tools.jib") version "1.0.2"./gradlew clean jib --image=test/karibu-helloworld-appslovdahl's workaround of excluding guava in buildscript{} unfortunately doesn't seem to work. Adding compile 'com.google.guava:guava:23.6-jre' dependency doesn't work. I understand it's a bug in Gradle but it has been there for quite some time...
Hi @mvysny,
I think your issue is different from this. I put the following at the top of your build.gradle.kts to let the buildscript use Guava 27.0.1-jre (the one that Jib 1.0.2 uses), and it works.
```build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("com.google.guava:guava:27.0.1-jre")
}
}
chanseok@chanseok1:~/tmp/karibu-helloworld-application (master)$ ./gradlew jib --image=francium25/test --stacktrace
Configure project :
Using Gradle Vaadin Plugin 1.4.1
Containerizing application to francium25/test...
Container entrypoint set to [/usr/bin/java, -jar] (inherited from base image)
Container program arguments set to [/jetty/start.jar] (inherited from base image)
Built and pushed image as francium25/test
Executing tasks:
[==============================] 100.0% complete
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.2.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 9s
9 actionable tasks: 7 executed, 2 up-to-date
chanseok@chanseok1:~/tmp/karibu-helloworld-application (master)$
```
@mvysny your sample program works well too:
$ docker run --rm -it -p8080:8080 francium25/test
$ curl localhost:8080
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=11">
<style type="text/css">html, body {height:100%;margin:0;}</style>
@chanseokoh awesome, your suggestion also worked for me! Thank you :)
I experience this issue with Gradle 5.6.2. The mentioned https://github.com/gradle/gradle/issues/3698 bug supposed to be fixed there already.
Adding Guava dependency in the buildscript block does not fix the problem either.
Hi @sergeykad, recent Jib versions use Guava 28. Try forcing guava 28.0-jre by following https://github.com/GoogleContainerTools/jib/issues/1390#issuecomment-451286883. If it doesn't work, could you provide us a small sample that reproduces the issue (e.g., like https://github.com/GoogleContainerTools/jib/issues/591#issuecomment-477897568)?
@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 gradle buildEnvironment helped to find the problem. The parent build.gradle file have the following:
buildscript {
repositories { jcenter() }
dependencies {
classpath 'com.netflix.nebula:gradle-lint-plugin:latest.release'
}
}
The gradle-lint-plugin uses guava 19.0. As soon as I removed it, guava version jumped to the correct one.
The question is it somehow possible to use the both plugins or I have to choose one?
Running
gradle buildEnvironmenthelped to find the problem.
Ah, great! I have been looking for this command for months. Thanks for the tip.
And I just realized https://github.com/GoogleContainerTools/jib/issues/591#issuecomment-478027065 doesn't force a certain Guava version. See https://github.com/GoogleContainerTools/jib/issues/1390#issuecomment-451286883 for the force = true usage. Perhaps you need to apply this to the parent build.gradle where gradle-lint-plugin is defined.
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.
dependencies forced in the main build ... would be ignored if they are already resolved ...
So make sure that the dependency conflict is resolved there
Aha, this makes a lot of sense. That also explains why you cannot override parent dependencies from subproject buildscripts. Thanks for the tip!
Most helpful comment
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.