diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanLibrariesSpec.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanLibrariesSpec.kt index fb27b5b8d42..f254002a282 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanLibrariesSpec.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanLibrariesSpec.kt @@ -8,14 +8,11 @@ package org.jetbrains.kotlin.gradle.plugin.konan import org.gradle.api.InvalidUserDataException import org.gradle.api.Project import org.gradle.api.file.FileCollection -import org.gradle.api.tasks.Input -import org.gradle.api.tasks.InputFiles -import org.gradle.api.tasks.Internal +import org.gradle.api.tasks.* import org.jetbrains.kotlin.gradle.plugin.tasks.KonanArtifactWithLibrariesTask import org.jetbrains.kotlin.gradle.plugin.tasks.KonanBuildingTask import org.jetbrains.kotlin.konan.* import org.jetbrains.kotlin.konan.library.defaultResolver -import org.jetbrains.kotlin.konan.library.impl.KonanLibraryImpl import org.jetbrains.kotlin.konan.target.Distribution import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.library.SearchPathResolver @@ -26,14 +23,14 @@ open class KonanLibrariesSpec( @Internal val project: Project ) { - @InputFiles val files = mutableSetOf() + @InputFiles @PathSensitive(PathSensitivity.RELATIVE) val files = mutableSetOf() @Input val namedKlibs = mutableSetOf() @Internal val artifacts = mutableListOf() val artifactFiles: List - @InputFiles get() = artifacts.map { it.artifact } + @InputFiles @PathSensitive(PathSensitivity.RELATIVE) get() = artifacts.map { it.artifact } @Internal val explicitRepos = mutableSetOf() diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCompileTask.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCompileTask.kt index 0921004feec..b1b632ee4ce 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCompileTask.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCompileTask.kt @@ -5,22 +5,11 @@ package org.jetbrains.kotlin.gradle.plugin.tasks -import groovy.lang.Closure -import org.codehaus.groovy.runtime.GStringImpl -import org.gradle.api.Project -import org.gradle.api.file.ConfigurableFileTree import org.gradle.api.file.FileCollection import org.gradle.api.tasks.* import org.gradle.process.CommandLineArgumentProvider -import org.jetbrains.kotlin.konan.library.defaultResolver -import org.jetbrains.kotlin.konan.target.CompilerOutputKind -import org.jetbrains.kotlin.konan.target.Distribution -import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.gradle.plugin.konan.* -import org.jetbrains.kotlin.gradle.plugin.konan.dumpProperties -import org.jetbrains.kotlin.gradle.plugin.konan.environmentVariables -import org.jetbrains.kotlin.gradle.plugin.konan.konanBuildRoot -import org.jetbrains.kotlin.gradle.plugin.konan.targetSubdir +import org.jetbrains.kotlin.konan.target.CompilerOutputKind import java.io.File /** @@ -59,14 +48,16 @@ abstract class KonanCompileTask: KonanBuildingTask(), KonanCompileSpec { @Internal get() = srcFiles_.takeIf { !it.isEmpty() } ?: listOf(project.konanDefaultSrcFiles) val allSources: Collection - @InputFiles get() = listOf(srcFiles, commonSrcFiles).flatten() + @InputFiles @PathSensitive(PathSensitivity.RELATIVE) get() = listOf(srcFiles, commonSrcFiles).flatten() private val allSourceFiles: List get() = allSources .flatMap { it.files } .filter { it.name.endsWith(".kt") } - @InputFiles val nativeLibraries = mutableSetOf() + @InputFiles + @PathSensitive(PathSensitivity.RELATIVE) + val nativeLibraries = mutableSetOf() @Input val linkerOpts = mutableListOf() @@ -388,6 +379,7 @@ open class KonanCompileFrameworkTask: KonanCompileNativeBinary() { @OutputDirectory get() = super.artifact } +@CacheableTask open class KonanCompileLibraryTask: KonanCompileTask() { override val artifact: File @Internal get() = destinationDir.resolve(artifactFullName)