I'm migrating to Kotlin 1.2.0 but seeing some issu...
# gradle
m
I'm migrating to Kotlin 1.2.0 but seeing some issues with mixed Kotlin dependencies. My build file looks like:
Copy code
buildscript {
    ext {
        kotlinVersion                   = "1.2.0"
..

apply plugin: "kotlin"
apply plugin: "kotlin-jpa"
apply plugin: "kotlin-kapt"
apply plugin: "kotlin-noarg"
apply plugin: "kotlin-spring"
..

dependencies {
    kapt("com.querydsl:querydsl-apt:$querydslVersion:jpa")
    compile("com.cosium.spring.data:spring-data-jpa-entity-graph:$springDataJpaEntityGraphVersion")
    compile("com.querydsl:querydsl-jpa")
    compile("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
    compile("org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlinVersion")
    compile("org.springframework.boot:spring-boot-starter-actuator")
    compile("org.springframework.boot:spring-boot-starter-aop")
    compile("org.springframework.boot:spring-boot-starter-data-jpa")
    compile("org.springframework.boot:spring-boot-starter-hateoas")
    compile("org.springframework.boot:spring-boot-starter-json")
    compile("org.springframework.boot:spring-boot-starter-web")
    runtime("com.h2database:h2")
    runtime("org.hibernate:hibernate-java8")
    runtime("org.springframework.boot:spring-boot-devtools")
    testCompile("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion")
    testCompile("org.springframework.boot:spring-boot-starter-test") {
        exclude module: "junit"
    }
    testCompileOnly("org.apiguardian:apiguardian-api:$apiguardianVersion")
    testRuntime("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion")
}
But for some reason my project now has the follwing dependencies:
Copy code
+--- com.cosium.spring.data:spring-data-jpa-entity-graph:2.0.0
+--- com.querydsl:querydsl-jpa: -> 4.1.4
|    +--- com.querydsl:querydsl-core:4.1.4
|    |    +--- com.google.guava:guava:18.0
|    |    +--- com.google.code.findbugs:jsr305:1.3.9
|    |    +--- com.mysema.commons:mysema-commons-lang:0.2.4
|    |    \--- com.infradna.tool:bridge-method-annotation:1.13
|    \--- org.slf4j:slf4j-api:1.6.1 -> 1.7.25
+--- org.jetbrains.kotlin:kotlin-reflect:1.2.0
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.0 -> 1.1.51
|         \--- org.jetbrains:annotations:13.0
+--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.0 -> 1.1.51 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.0 -> 1.1.51
|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.51 (*)
It mixes Kotlin 1.2.0 and 1.1.51 dependencies. Probably because some other transitive dependencies... But what I don't understand is why 1.1.51 takes precedence.