Skip to content

Commit 1ad526f

Browse files
committed
Do not manually wire ksp task for android target
It is already wired up to IDE models via addGeneratedSourceDirectory API
1 parent 2c595b1 commit 1ad526f

File tree

1 file changed

+10
-4
lines changed
  • gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle

1 file changed

+10
-4
lines changed

gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspAATask.kt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package com.google.devtools.ksp.gradle
1919

20+
import com.google.devtools.ksp.gradle.AndroidPluginIntegration.canUseAddGeneratedSourceDirectoriesApi
2021
import com.google.devtools.ksp.impl.KotlinSymbolProcessing
2122
import com.google.devtools.ksp.processing.ExitCode
2223
import com.google.devtools.ksp.processing.KSPCommonConfig
@@ -191,8 +192,9 @@ abstract class KspAATask @Inject constructor(
191192
cfg.processorClasspath.from(incomingProcessors)
192193
val kotlinOutputDir = KspGradleSubplugin.getKspKotlinOutputDir(project, sourceSetName, target)
193194
val javaOutputDir = KspGradleSubplugin.getKspJavaOutputDir(project, sourceSetName, target)
194-
val filteredTasks =
195+
val filteredTasks = if (kspExtension.excludedSources.isEmpty.not()) {
195196
kspExtension.excludedSources.buildDependencies.getDependencies(null).map { it.name }
197+
} else emptyList()
196198
kotlinCompilation.allKotlinSourceSetsObservable.forAll { sourceSet ->
197199
val filtered = kotlinOutputDir.zip(javaOutputDir) { kotlinOut, javaOut ->
198200
sourceSet.kotlin.srcDirs.filter {
@@ -205,9 +207,13 @@ abstract class KspAATask @Inject constructor(
205207
}
206208
cfg.sourceRoots.from(filtered)
207209
cfg.javaSourceRoots.from(filtered)
208-
kspAATask.dependsOn(
209-
sourceSet.kotlin.nonSelfDeps(kspTaskName).filter { it.name !in filteredTasks }
210-
)
210+
if (kotlinCompilation.platformType != KotlinPlatformType.androidJvm &&
211+
project.canUseAddGeneratedSourceDirectoriesApi()
212+
) {
213+
kspAATask.dependsOn(
214+
sourceSet.kotlin.nonSelfDeps(kspTaskName).filter { it.name !in filteredTasks }
215+
)
216+
}
211217
}
212218
if (kotlinCompilation is KotlinCommonCompilation) {
213219
cfg.commonSourceRoots.from(kotlinCompilation.defaultSourceSet.kotlin)

0 commit comments

Comments
 (0)