Skip to content

Commit aa9b0ef

Browse files
ALikhachevneetopia
authored andcommitted
UPDATE_KOTLIN_VERSION: 1.9.30-dev-2548
Kotlin: Migrate from ChangedFiles to SourcesChanges (cherry picked from commit eeb1cb7)
1 parent 9fe5c32 commit aa9b0ef

File tree

2 files changed

+17
-16
lines changed

2 files changed

+17
-16
lines changed

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import org.gradle.process.CommandLineArgumentProvider
3939
import org.gradle.process.ExecOperations
4040
import org.gradle.work.InputChanges
4141
import org.gradle.workers.WorkerExecutor
42+
import org.jetbrains.kotlin.buildtools.api.SourcesChanges
4243
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
4344
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
4445
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
@@ -67,7 +68,6 @@ import org.jetbrains.kotlin.gradle.tasks.TaskOutputsBackup
6768
import org.jetbrains.kotlin.gradle.tasks.configuration.BaseKotlin2JsCompileConfig
6869
import org.jetbrains.kotlin.gradle.tasks.configuration.KotlinCompileCommonConfig
6970
import org.jetbrains.kotlin.gradle.tasks.configuration.KotlinCompileConfig
70-
import org.jetbrains.kotlin.incremental.ChangedFiles
7171
import org.jetbrains.kotlin.konan.target.HostManager
7272
import java.io.File
7373
import java.nio.file.Paths
@@ -186,7 +186,7 @@ interface KspTask : Task {
186186
val commandLineArgumentProviders: ListProperty<CommandLineArgumentProvider>
187187

188188
@get:Internal
189-
val incrementalChangesTransformers: ListProperty<(ChangedFiles) -> List<SubpluginOption>>
189+
val incrementalChangesTransformers: ListProperty<(SourcesChanges) -> List<SubpluginOption>>
190190
}
191191

192192
@CacheableTask

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

+15-14
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import org.gradle.tooling.provider.model.ToolingModelBuilderRegistry
3636
import org.gradle.util.GradleVersion
3737
import org.gradle.work.ChangeType
3838
import org.gradle.work.InputChanges
39+
import org.jetbrains.kotlin.buildtools.api.SourcesChanges
3940
import org.jetbrains.kotlin.config.ApiVersion
4041
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
4142
import org.jetbrains.kotlin.gradle.internal.kapt.incremental.CLASS_STRUCTURE_ARTIFACT_TYPE
@@ -56,7 +57,6 @@ import org.jetbrains.kotlin.gradle.plugin.SubpluginOption
5657
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
5758
import org.jetbrains.kotlin.gradle.plugin.mpp.*
5859
import org.jetbrains.kotlin.gradle.tasks.*
59-
import org.jetbrains.kotlin.incremental.ChangedFiles
6060
import org.jetbrains.kotlin.incremental.isJavaFile
6161
import org.jetbrains.kotlin.incremental.isKotlinFile
6262
import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty
@@ -661,15 +661,16 @@ internal fun getClassStructureFiles(
661661
// Reuse Kapt's infrastructure to compute affected names in classpath.
662662
// This is adapted from KaptTask.findClasspathChanges.
663663
internal fun findClasspathChanges(
664-
changes: ChangedFiles,
664+
changes: SourcesChanges,
665665
cacheDir: File,
666666
allDataFiles: Set<File>,
667667
libs: List<File>,
668668
processorCP: List<File>,
669669
): KaptClasspathChanges {
670670
cacheDir.mkdirs()
671671

672-
val changedFiles = (changes as? ChangedFiles.Known)?.let { it.modified + it.removed }?.toSet() ?: allDataFiles
672+
val changedFiles =
673+
(changes as? SourcesChanges.Known)?.let { it.modifiedFiles + it.removedFiles }?.toSet() ?: allDataFiles
673674

674675
val loadedPrevious = ClasspathSnapshot.ClasspathSnapshotFactory.loadFrom(cacheDir)
675676
val previousAndCurrentDataFiles = lazy { loadedPrevious.getAllDataFiles() + allDataFiles }
@@ -698,7 +699,7 @@ internal fun findClasspathChanges(
698699
)
699700

700701
val classpathChanges = currentSnapshot.diff(previousSnapshot, changedFiles)
701-
if (classpathChanges is KaptClasspathChanges.Unknown || changes is ChangedFiles.Unknown) {
702+
if (classpathChanges is KaptClasspathChanges.Unknown || changes is SourcesChanges.Unknown) {
702703
cacheDir.deleteRecursively()
703704
cacheDir.mkdirs()
704705
}
@@ -707,11 +708,11 @@ internal fun findClasspathChanges(
707708
return classpathChanges
708709
}
709710

710-
internal fun ChangedFiles.hasNonSourceChange(): Boolean {
711-
if (this !is ChangedFiles.Known)
711+
internal fun SourcesChanges.hasNonSourceChange(): Boolean {
712+
if (this !is SourcesChanges.Known)
712713
return true
713714

714-
return !(this.modified + this.removed).all {
715+
return !(this.modifiedFiles + this.removedFiles).all {
715716
it.isKotlinFile(listOf("kt")) || it.isJavaFile()
716717
}
717718
}
@@ -726,13 +727,13 @@ fun KaptClasspathChanges.toSubpluginOptions(): List<SubpluginOption> {
726727
}
727728
}
728729

729-
fun ChangedFiles.toSubpluginOptions(): List<SubpluginOption> {
730-
return if (this is ChangedFiles.Known) {
730+
fun SourcesChanges.toSubpluginOptions(): List<SubpluginOption> {
731+
return if (this is SourcesChanges.Known) {
731732
val options = mutableListOf<SubpluginOption>()
732-
this.modified.filter { it.isKotlinFile(listOf("kt")) || it.isJavaFile() }.ifNotEmpty {
733+
this.modifiedFiles.filter { it.isKotlinFile(listOf("kt")) || it.isJavaFile() }.ifNotEmpty {
733734
options += SubpluginOption("knownModified", map { it.path }.joinToString(File.pathSeparator))
734735
}
735-
this.removed.filter { it.isKotlinFile(listOf("kt")) || it.isJavaFile() }.ifNotEmpty {
736+
this.removedFiles.filter { it.isKotlinFile(listOf("kt")) || it.isJavaFile() }.ifNotEmpty {
736737
options += SubpluginOption("knownRemoved", map { it.path }.joinToString(File.pathSeparator))
737738
}
738739
options
@@ -749,7 +750,7 @@ internal fun createIncrementalChangesTransformer(
749750
classpathStructure: Provider<FileCollection>,
750751
libraries: Provider<FileCollection>,
751752
processorCP: Provider<FileCollection>,
752-
): (ChangedFiles) -> List<SubpluginOption> = { changedFiles ->
753+
): (SourcesChanges) -> List<SubpluginOption> = { changedFiles ->
753754
val options = mutableListOf<SubpluginOption>()
754755
val apClasspath = processorCP.get().files.toList()
755756
if (isKspIncremental) {
@@ -790,7 +791,7 @@ internal fun getCPChanges(
790791
): List<String> {
791792
val apClasspath = processorCP.files.toList()
792793
val changedFiles = if (!inputChanges.isIncremental) {
793-
ChangedFiles.Unknown()
794+
SourcesChanges.Unknown
794795
} else {
795796
incrementalProps.fold(mutableListOf<File>() to mutableListOf<File>()) { (modified, removed), prop ->
796797
inputChanges.getFileChanges(prop).forEach {
@@ -802,7 +803,7 @@ internal fun getCPChanges(
802803
}
803804
modified to removed
804805
}.run {
805-
ChangedFiles.Known(first, second)
806+
SourcesChanges.Known(first, second)
806807
}
807808
}
808809
val classpathChanges = findClasspathChanges(

0 commit comments

Comments
 (0)