janvladimirmostert
09/30/2020, 3:58 PMplugins {
val kotlinVersion = "1.4.10"
kotlin("multiplatform") version kotlinVersion
kotlin("plugin.serialization") version kotlinVersion
}
but it no longer compiles complaining that i'm redefining the Kotlin plugin
i guess this now needs to move to the
allprojects {
block in the root build.gradle.kts
i'm trying
allprojects {
plugins.apply(kotlin("multiplatform"))
}
but that's not compiling
any ideas?mbonnin
09/30/2020, 4:01 PM//root/build.gradle.kts
plugins {
kotlin("multiplatform").version("1.4.10").apply(false)
}
Then in your individual modules apply them without version:
//root/module/build.gradle.kts
plugins {
kotlin("multiplatform")
}
janvladimirmostert
09/30/2020, 4:02 PMmbonnin
09/30/2020, 4:04 PMplugins {
kotlin("multiplatform")
}
is the same as
plugins {
kotlin("multiplatform").apply(true)
}
janvladimirmostert
09/30/2020, 4:06 PMmbonnin
09/30/2020, 4:07 PMapply(true)
from the root project since there's no kotlin file to compile therekotlin("multiplatform").version("1.4.10").apply(false)
in the root project does is that it adds the Kotlin plugin jar to the buildscript classpath.janvladimirmostert
09/30/2020, 4:08 PMmbonnin
09/30/2020, 4:09 PMjanvladimirmostert
09/30/2020, 4:10 PMmbonnin
09/30/2020, 4:10 PMjanvladimirmostert
09/30/2020, 4:10 PMmbonnin
09/30/2020, 4:11 PMallprojects {}
toosubprojects {}
to exclude the root project (which doesn't contain any kotlin in typical cases)janvladimirmostert
09/30/2020, 4:14 PMgradle.buildFinished {
allprojects.forEach { subproject ->
val lib = "$buildDir/library/${project.name}-${subproject.name}"
subprojects might be a better solution here too
thanks for the help Martin, this is going to make my KMMMP setup much cleaner 😄