diff options
author | Ting-Yuan Huang <laszio@google.com> | 2021-09-03 11:43:09 -0700 |
---|---|---|
committer | laszio <ting-yuan@users.noreply.github.com> | 2021-09-07 07:30:10 -0700 |
commit | 7a596995f0d03cb60eff6a98775e6d1a1c2a6fd5 (patch) | |
tree | cd26acd85ac51c301f2d21ca6142b67af0dbccef /gradle-plugin | |
parent | 78a5217cb60eb6fae58052a59b63a40b555f93b2 (diff) | |
download | ksp-7a596995f0d03cb60eff6a98775e6d1a1c2a6fd5.tar.gz |
Keep KSP from picking up generated sources by itself
Diffstat (limited to 'gradle-plugin')
-rw-r--r-- | gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt | 9 |
1 files changed, 9 insertions, 0 deletions
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 30bec0d5..dcf46f25 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 @@ -63,6 +63,7 @@ import org.jetbrains.kotlin.incremental.isJavaFile import org.jetbrains.kotlin.incremental.isKotlinFile import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty import java.io.File +import java.nio.file.Paths import java.util.* import java.util.concurrent.Callable import javax.inject.Inject @@ -304,6 +305,7 @@ class KspGradleSubplugin @Inject internal constructor(private val registry: Tool kspTask.source(sourceRoots.javaSourceRoots) } } + kspTask.source.filter { !kspOutputDir.isParentOf(it) } // Don't support binary generation for K/N yet. // FIXME: figure out how to add user generated libraries. @@ -863,3 +865,10 @@ internal inline fun <reified T : CommonCompilerArguments> dumpArgs(args: T): Map return argumentProperties.associate(args::toPair).toSortedMap() } + +internal fun File.isParentOf(childCandidate: File): Boolean { + val parentPath = Paths.get(this.absolutePath).normalize() + val childCandidatePath = Paths.get(childCandidate.absolutePath).normalize() + + return childCandidatePath.startsWith(parentPath) +} |