diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt index 0e26e307e23..bafa4f52469 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt @@ -39,6 +39,7 @@ constructor( var sourceMapStackTraces = true @Optional + @PathSensitive(PathSensitivity.ABSOLUTE) @InputFile val inputFileProperty: RegularFileProperty = project.newFileProperty() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt index 07994a77913..d903def2657 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt @@ -16,6 +16,8 @@ import org.gradle.api.initialization.IncludedBuild import org.gradle.api.internal.artifacts.DefaultProjectComponentIdentifier import org.gradle.api.tasks.Input import org.gradle.api.tasks.InputFiles +import org.gradle.api.tasks.PathSensitive +import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.bundling.Zip import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation @@ -354,9 +356,11 @@ internal class KotlinCompilationNpmResolver( @get:Input val internalDependencies: Collection, + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles val internalCompositeDependencies: Collection, + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles val externalGradleDependencies: Collection, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt index 81a790b3aa5..b3214b63745 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt @@ -9,6 +9,8 @@ import org.gradle.api.DefaultTask import org.gradle.api.tasks.Input import org.gradle.api.tasks.InputFiles import org.gradle.api.tasks.OutputFile +import org.gradle.api.tasks.PathSensitive +import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.TaskAction import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin import java.io.File @@ -31,11 +33,13 @@ open class KotlinNpmInstallTask : DefaultTask() { val args: MutableList = mutableListOf() @Suppress("unused") + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles val packageJsonFiles: Collection by lazy { resolutionManager.packageJsonFiles } + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles val preparedFiles: Collection by lazy { nodeJs.packageManager.preparedFiles(nodeJs) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/KotlinJsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/KotlinJsTest.kt index 4502ccf7422..b019666c4e0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/KotlinJsTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/KotlinJsTest.kt @@ -12,6 +12,8 @@ import org.gradle.api.tasks.Input import org.gradle.api.tasks.InputFile import org.gradle.api.tasks.InputFiles import org.gradle.api.tasks.Internal +import org.gradle.api.tasks.PathSensitive +import org.gradle.api.tasks.PathSensitivity import org.gradle.process.internal.DefaultProcessForkOptions import org.gradle.util.ConfigureUtil import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec @@ -65,6 +67,7 @@ constructor( val testFrameworkSettings: String @Input get() = testFramework!!.settingsState + @PathSensitive(PathSensitivity.ABSOLUTE) @InputFile val inputFileProperty: RegularFileProperty = project.newFileProperty() @@ -72,6 +75,7 @@ constructor( var debug: Boolean = false @Suppress("unused") + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles val runtimeClasspath: FileCollection by lazy { compilation.runtimeDependencyFiles @@ -79,6 +83,7 @@ constructor( @Suppress("unused") @get:InputFiles + @get:PathSensitive(PathSensitivity.ABSOLUTE) internal val compilationOutputs: FileCollection by lazy { compilation.output.allOutputs } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt index a99621e696f..0cac1db9c50 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt @@ -88,6 +88,7 @@ constructor( internal var resolveFromModulesFirst: Boolean = false @Suppress("unused") + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles val runtimeClasspath: FileCollection by lazy { compilation.compileDependencyFiles @@ -145,6 +146,7 @@ constructor( private val projectDir = project.projectDir + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:Optional @get:InputDirectory open val configDirectory: File? by lazy { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTask.kt index 984ec24de82..5b05b239bd2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTask.kt @@ -36,12 +36,14 @@ internal open class CommonizerTask : DefaultTask() { @get:Input var targetGroups: Set = emptySet() + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputDirectory @Suppress("unused") // Only for up-to-date checker. The directory with the original common libs. val originalCommonLibrariesDirectory = konanHome .resolve(KONAN_DISTRIBUTION_KLIB_DIR) .resolve(KONAN_DISTRIBUTION_COMMON_LIBS_DIR) + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputDirectory @Suppress("unused") // Only for up-to-date checker. The directory with the original platform libs. val originalPlatformLibrariesDirectory = konanHome @@ -52,6 +54,7 @@ internal open class CommonizerTask : DefaultTask() { val commonizerTargetOutputDirectories get() = targetGroups.map { targets -> project.nativeDistributionCommonizerOutputDirectory(targets) } + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles @Suppress("unused") // Only for up-to-date checker. val successMarkers diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt index c2ddb8f6089..7363934f859 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt @@ -364,6 +364,7 @@ open class PodGenTask : DefaultTask() { } } + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFile internal lateinit var podspec: Provider @@ -480,12 +481,14 @@ private fun getBuildSettingFileName(pod: CocoapodsDependency, sdk: String): Stri */ open class PodBuildTask : DefaultTask() { + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFile internal lateinit var buildSettingsFile: Provider @get:Nested internal lateinit var pod: Provider + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles internal val srcDir: FileTree get() = project.fileTree( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/FatFrameworkTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/FatFrameworkTask.kt index 2401c49d86f..35c6b5b1b23 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/FatFrameworkTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/FatFrameworkTask.kt @@ -105,11 +105,13 @@ open class FatFrameworkTask: DefaultTask() { private val fatDsym: IosDsymFiles get() = fatFramework.dSYM + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles @get:SkipWhenEmpty protected val inputFrameworkFiles: Iterable get() = frameworks.map { project.fileTree(it.outputFile) } + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles protected val inputDsymFiles: Iterable get() = frameworks.mapNotNull { framework -> diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt index f13a5924831..d6948875ac0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTest.kt @@ -33,6 +33,7 @@ abstract class KotlinNativeTest : KotlinTest() { @get:Internal val executableProperty: Property = project.objects.property(FileCollection::class.java) + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFiles // use FileCollection & @InputFiles rather than @InputFile to allow for task dependencies built-into this FileCollection @get:SkipWhenEmpty @Suppress("UNUSED") // Gradle input