У меня есть Kotlin мульти проект, который примерно так структурирован:
+-----------------+
| |
| Main |
| Kotlin 1.2 |
| |
| |
| |
+--+------------+-+
| |
| |
+------------v----+ +---v--------------+
| | | |
| Sub 1 | | Sub 2..n |
| Kotlin 1.3 | | Kotlin 1.2 |
| | | |
| | | |
| | | |
| | | |
+-----------------+ +------------------+
Мне нужно скомпилировать Sub 1 с org.jetbrains.kotlin:kotlin-compiler-embeddable:1.3.*
, а все остальные с org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.*
.
Основной файл Gradle выглядит примерно так:
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71"
}
}
apply plugin: "kotlin"
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71"
// ... more
}
С файлом вспомогательного Gradle для проекта 1.3 выглядит так:
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61"
}
}
plugins {
id "application"
}
apply plugin: "java"
apply plugin: "kotlin"
java {
disableAutoTargetJvm()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.61"
// ... more
}
Running ./gradlew server:dependencies | grep 1.2.71
, однако все еще показывает kotlin зависимости компилятора как 1.2:
| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | +--- org.jetbrains.kotlin:kotlin-reflect:1.2.71 -> 1.3.61 (*)
| | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | | +--- org.jetbrains.kotlin:kotlin-reflect:1.2.71 -> 1.3.61
| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | +--- org.jetbrains.kotlin:kotlin-reflect:1.2.71 -> 1.3.61 (*)
| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | +--- org.jetbrains.kotlin:kotlin-reflect:1.2.71 -> 1.3.61 (*)
\--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.71
+--- org.jetbrains.kotlin:kotlin-stdlib:1.2.71
| +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.2.71
+--- org.jetbrains.kotlin:kotlin-script-runtime:1.2.71
\--- org.jetbrains.kotlin:kotlin-reflect:1.2.71
\--- org.jetbrains.kotlin:kotlin-stdlib:1.2.71 (*)
\--- org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.2.71
| | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | | +--- org.jetbrains.kotlin:kotlin-reflect:1.2.71 -> 1.3.61
| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | +--- org.jetbrains.kotlin:kotlin-reflect:1.2.71 -> 1.3.61 (*)
| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71 -> 1.3.61 (*)
| | +--- org.jetbrains.kotlin:kotlin-reflect:1.2.71 -> 1.3.61 (*)
Как я могу переопределить kotlin версию компилятора для этого подпроекта?