aboutsummaryrefslogtreecommitdiff
path: root/gradle-plugin
diff options
context:
space:
mode:
authorTing-Yuan Huang <laszio@google.com>2021-08-30 15:42:20 -0700
committerlaszio <ting-yuan@users.noreply.github.com>2021-08-31 00:28:39 -0700
commit3190c309a42d8920ec1d3503109ab058a3e2673d (patch)
tree2ccec4f43954c1e8c25cd71ed3088135030b6387 /gradle-plugin
parent7cc0db72cfb1e09d18c1f1646dc447943e57561d (diff)
downloadksp-3190c309a42d8920ec1d3503109ab058a3e2673d.tar.gz
Disable isIntermoduleIncremental when isIncremental is false
Also label isKspIncremental and isIntermoduleIncremental with @Input
Diffstat (limited to 'gradle-plugin')
-rw-r--r--gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt20
1 files changed, 10 insertions, 10 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 4128a7d3..9746cb04 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
@@ -286,6 +286,7 @@ class KspGradleSubplugin @Inject internal constructor(private val registry: Tool
}
)
}
+ kspTask.isKspIncremental = isIncremental
}
fun configureAsAbstractCompile(kspTask: AbstractCompile) {
@@ -317,7 +318,6 @@ class KspGradleSubplugin @Inject internal constructor(private val registry: Tool
kspTask.configureCompilation(
kotlinCompilation as KotlinCompilationData<*>,
kotlinCompileTask,
- isIncremental
)
}
}
@@ -445,10 +445,12 @@ interface KspTask : Task {
@get:LocalState
val kspCacheDir: DirectoryProperty
+ @get:Input
+ var isKspIncremental: Boolean
+
fun configureCompilation(
kotlinCompilation: KotlinCompilationData<*>,
kotlinCompile: AbstractKotlinCompile<*>,
- isIncremental: Boolean,
)
}
@@ -459,13 +461,12 @@ abstract class KspTaskJvm : KotlinCompile(KotlinJvmOptionsImpl()), KspTask {
@get:InputFiles
abstract val classpathStructure: ConfigurableFileCollection
- @get:Internal
+ @get:Input
var isIntermoduleIncremental: Boolean = false
override fun configureCompilation(
kotlinCompilation: KotlinCompilationData<*>,
kotlinCompile: AbstractKotlinCompile<*>,
- isIncremental: Boolean,
) {
Configurator<KspTaskJvm>(kotlinCompilation).configure(this)
kotlinCompile as KotlinCompile
@@ -476,8 +477,10 @@ abstract class KspTaskJvm : KotlinCompile(KotlinJvmOptionsImpl()), KspTask {
}
)
- isIntermoduleIncremental = project.findProperty("ksp.incremental.intermodule")?.toString()?.toBoolean() ?: true
- if (isIncremental && isIntermoduleIncremental) {
+ isIntermoduleIncremental =
+ (project.findProperty("ksp.incremental.intermodule")?.toString()?.toBoolean() ?: true) &&
+ isKspIncremental
+ if (isIntermoduleIncremental) {
val classStructureIfIncremental = project.configurations.detachedConfiguration(
project.dependencies.create(project.files(project.provider { kotlinCompile.classpath }))
)
@@ -604,7 +607,7 @@ abstract class KspTaskJvm : KotlinCompile(KotlinJvmOptionsImpl()), KspTask {
sourceRoots: SourceRoots,
changedFiles: ChangedFiles,
) {
- if (isIntermoduleIncremental) {
+ if (isKspIncremental && isIntermoduleIncremental) {
// findClasspathChanges may clear caches, if there are
// 1. unknown changes, or
// 2. changes in annotation processors.
@@ -629,7 +632,6 @@ abstract class KspTaskJS @Inject constructor(
override fun configureCompilation(
kotlinCompilation: KotlinCompilationData<*>,
kotlinCompile: AbstractKotlinCompile<*>,
- isIncremental: Boolean,
) {
Configurator<KspTaskJS>(kotlinCompilation).configure(this)
kotlinCompile as Kotlin2JsCompile
@@ -694,7 +696,6 @@ abstract class KspTaskMetadata : KotlinCompileCommon(KotlinMultiplatformCommonOp
override fun configureCompilation(
kotlinCompilation: KotlinCompilationData<*>,
kotlinCompile: AbstractKotlinCompile<*>,
- isIncremental: Boolean,
) {
Configurator<KspTaskMetadata>(kotlinCompilation).configure(this)
kotlinCompile as KotlinCompileCommon
@@ -773,7 +774,6 @@ abstract class KspTaskNative @Inject constructor(
override fun configureCompilation(
kotlinCompilation: KotlinCompilationData<*>,
kotlinCompile: AbstractKotlinCompile<*>,
- isIncremental: Boolean,
) = Unit
// KotlinNativeCompile doesn't support Gradle incremental compilation. Therefore, there is no information about