diff options
Diffstat (limited to 'gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspConfigurations.kt')
-rw-r--r-- | gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspConfigurations.kt | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspConfigurations.kt b/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspConfigurations.kt index ca7582e5..e4325894 100644 --- a/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspConfigurations.kt +++ b/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspConfigurations.kt @@ -57,7 +57,20 @@ class KspConfigurations(private val project: Project) { val isMain = compilation.name == KotlinCompilation.MAIN_COMPILATION_NAME val isDefault = sourceSet.name == compilation.defaultSourceSetName // Note: on single-platform, target name is conveniently set to "". - val name = if (isMain && isDefault) compilation.target.name else sourceSet.name + val name = if (isMain && isDefault) { + // For js(IR), js(LEGACY), the target "js" is created. + // + // When js(BOTH) is used, target "jsLegacy" and "jsIr" are created. + // Both targets share the same source set. Therefore configurations other than main compilation + // are shared. E.g., "kspJsTest". + // For simplicity and consistency, let's not distinguish them. + when (val targetName = compilation.target.name) { + "jsLegacy", "jsIr" -> "js" + else -> targetName + } + } else { + sourceSet.name + } return configurationNameOf(PREFIX, name) } |