From cceb70384b6b6e86c8c7cc60d348e4343f3c4653 Mon Sep 17 00:00:00 2001 From: Ting-Yuan Huang Date: Mon, 30 Aug 2021 17:03:07 -0700 Subject: Clear KSP incremental cache if not incremental --- .../com/google/devtools/ksp/gradle/KspSubplugin.kt | 26 +++++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'gradle-plugin') diff --git a/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt b/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt index 9746cb04..e29162eb 100644 --- a/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt +++ b/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt @@ -607,16 +607,20 @@ abstract class KspTaskJvm : KotlinCompile(KotlinJvmOptionsImpl()), KspTask { sourceRoots: SourceRoots, changedFiles: ChangedFiles, ) { - if (isKspIncremental && isIntermoduleIncremental) { - // findClasspathChanges may clear caches, if there are - // 1. unknown changes, or - // 2. changes in annotation processors. - val classpathChanges = findClasspathChanges(changedFiles) - args.addChangedClasses(classpathChanges) - } else { - if (changedFiles.hasNonSourceChange()) { - clearIncCache() + if (isKspIncremental) { + if (isIntermoduleIncremental) { + // findClasspathChanges may clear caches, if there are + // 1. unknown changes, or + // 2. changes in annotation processors. + val classpathChanges = findClasspathChanges(changedFiles) + args.addChangedClasses(classpathChanges) + } else { + if (changedFiles.hasNonSourceChange()) { + clearIncCache() + } } + } else { + clearIncCache() } args.addChangedFiles(changedFiles) super.callCompilerAsync(args, sourceRoots, changedFiles) @@ -683,7 +687,7 @@ abstract class KspTaskJS @Inject constructor( sourceRoots: SourceRoots, changedFiles: ChangedFiles, ) { - if (changedFiles.hasNonSourceChange()) { + if (!isKspIncremental || changedFiles.hasNonSourceChange()) { clearIncCache() } else { args.addChangedFiles(changedFiles) @@ -747,7 +751,7 @@ abstract class KspTaskMetadata : KotlinCompileCommon(KotlinMultiplatformCommonOp sourceRoots: SourceRoots, changedFiles: ChangedFiles, ) { - if (changedFiles.hasNonSourceChange()) { + if (!isKspIncremental || changedFiles.hasNonSourceChange()) { clearIncCache() } else { args.addChangedFiles(changedFiles) -- cgit v1.2.3