Description
First of all, thank you for this great library!
However, I have experienced a minor issue when using this library while also using the maven-enforcer-plugin
with the dependencyConvergence
rule as part of the build process. The plugin reveals that there are conflicting dependency versions defined in graphql-java-tools
:
[WARNING]
Dependency convergence error for org.jetbrains.kotlin:kotlin-stdlib:1.3.31 paths to dependency are:
+-com....
+-com.graphql-java-kickstart:graphql-java-tools:5.7.1
+-org.jetbrains.kotlin:kotlin-stdlib:1.3.31
and
+-com....
+-com.graphql-java-kickstart:graphql-java-tools:5.7.1
+-org.jetbrains.kotlin:kotlin-reflect:1.3.31
+-org.jetbrains.kotlin:kotlin-stdlib:1.3.31
and
+-com....
+-com.graphql-java-kickstart:graphql-java-tools:5.7.1
+-org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.2.1
+-org.jetbrains.kotlin:kotlin-stdlib:1.3.30
and
+-com....
+-com.graphql-java-kickstart:graphql-java-tools:5.7.1
+-org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.2.1
+-org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.1
+-org.jetbrains.kotlin:kotlin-stdlib:1.3.30
and
+-com....
+-com.graphql-java-kickstart:graphql-java-tools:5.7.1
+-org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.2.1
+-org.jetbrains.kotlin:kotlin-stdlib:1.3.30
[WARNING]
Dependency convergence error for org.jetbrains.kotlin:kotlin-stdlib-common:1.3.31 paths to dependency are:
+-com....
+-com.graphql-java-kickstart:graphql-java-tools:5.7.1
+-org.jetbrains.kotlin:kotlin-stdlib:1.3.31
+-org.jetbrains.kotlin:kotlin-stdlib-common:1.3.31
and
+-com....
+-com.graphql-java-kickstart:graphql-java-tools:5.7.1
+-org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.2.1
+-org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.1
+-org.jetbrains.kotlin:kotlin-stdlib-common:1.3.30
[WARNING]
Dependency convergence error for org.jetbrains.kotlin:kotlin-reflect:1.3.31 paths to dependency are:
+-com....
+-com.graphql-java-kickstart:graphql-java-tools:5.7.1
+-org.jetbrains.kotlin:kotlin-reflect:1.3.31
and
+-com....
+-com.graphql-java-kickstart:graphql-java-tools:5.7.1
+-com.fasterxml.jackson.module:jackson-module-kotlin:2.9.9
+-org.jetbrains.kotlin:kotlin-reflect:1.3.10
While graphql-java-tools
depends on kotlin-stdlib:1.3.31
, it also depends on kotlinx-coroutines-*:1.2.1
which in turn depends on kotlin-stblib:1.3.30
. A similar thing happens with kotlin-reflect
.
Normally, Maven simply chooses one of the dependencies and ignores the different version requirements. However, as we are using the maven-enforcer-plugin
as part of the build process, adding graphql-java-tools
makes the build fail because of them. While I can work around this issue by manually adding kotlin-stdlib
and kotlin-reflect
as dependencies, this is not really a good solution in my opinion as it makes it less clear where dependencies come from and also makes it more difficult to upgrade dependency versions later on.
Therefore, I would greatly appreciate it if those conflicting dependencies could be resolved so that we can use the library without adding any additional dependencies. I can make a PR to try and solve this issue myself, if you are interested.