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.0efemoney
03/23/2022, 6:33 PMefemoney
03/23/2022, 6:35 PMsourceSets , you are accessing the same instance, which means you are configuring the main sourceSet to include both generated folders.efemoney
03/23/2022, 6:40 PMandroid {
sourceSets {
named("debug") { kotlin.srcDir("$buildDir/generated/ksp/debug/kotlin") }
named("release") { kotlin.srcDir("$buildDir/generated/ksp/release/kotlin") }
}
}efemoney
03/23/2022, 6:41 PMandroid {
sourceSets.configureEach {
kotlin.srcDir("$buildDir/generated/ksp/$name/kotlin/")
}
}Jiaxiang
03/23/2022, 8:08 PMAndrea Di Menna
03/24/2022, 7:28 AM