Andrea Di Menna
03/23/2022, 12:23 PMdebug
and release
build types. Different source folders are created for each build type, i.e. build/generated/ksp/debug/kotlin
and build/generated/ksp/release/kotlin
respectively.
In order to be able to consume the generated code I have added the following code in my build.gradle.kts
buildTypes {
getByName("debug") {
sourceSets {
getByName("main") {
kotlin.srcDir(file("build/generated/ksp/debug/kotlin"))
}
}
}
getByName("release") {
sourceSets {
getByName("main") {
kotlin.srcDir(file("build/generated/ksp/release/kotlin"))
}
}
}
}
Unfortunately, if I run kspDebugKotlin
and kspReleaseKotlin
w.o. cleaning the build
folder my generated classes are marked with errors in Android Studio. The error reads Redeclaration
as if both folders were added to the same source set.
Do you know how to get rid of this error?
Using:
• ksp 1.5.31-1.0.0
• Kotlin 1.5.31
• Android Studio Bumblebee
• AGP 7.1.0
efemoney
03/23/2022, 6:33 PMsourceSets
, you are accessing the same instance, which means you are configuring the main sourceSet to include both generated folders.android {
sourceSets {
named("debug") { kotlin.srcDir("$buildDir/generated/ksp/debug/kotlin") }
named("release") { kotlin.srcDir("$buildDir/generated/ksp/release/kotlin") }
}
}
android {
sourceSets.configureEach {
kotlin.srcDir("$buildDir/generated/ksp/$name/kotlin/")
}
}
Jiaxiang
03/23/2022, 8:08 PMAndrea Di Menna
03/24/2022, 7:28 AM