diff --git a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanToolRunner.kt b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanToolRunner.kt index d6c7d98972f..a0eaa9efceb 100644 --- a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanToolRunner.kt +++ b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanToolRunner.kt @@ -39,6 +39,7 @@ internal fun KonanToolRunner.run(vararg args: String) = run(args.toList()) private const val runFromDaemonPropertyName = "kotlin.native.tool.runFromDaemon" +@Suppress("DEPRECATION") // calling KotlinToolRunner(project) constructor is deprecated internal abstract class KonanCliRunner( protected val toolName: String, project: Project, @@ -89,8 +90,7 @@ internal abstract class KonanCliRunner( // A separate map for each build for automatic cleaning the daemon after the build have finished. @Suppress("UNCHECKED_CAST") - final override val isolatedClassLoaders get() = - project.project(":kotlin-native").ext["toolClassLoadersMap"] as ConcurrentHashMap + final override val isolatedClassLoaders = project.project(":kotlin-native").ext["toolClassLoadersMap"] as ConcurrentHashMap override fun transformArgs(args: List) = listOf(toolName) + args @@ -140,8 +140,10 @@ internal class KonanCliInteropRunner( additionalJvmArgs: List = emptyList(), konanHome: String = project.konanHome ) : KonanCliRunner("cinterop", project, additionalJvmArgs, konanHome) { + private val projectDir = project.projectDir.toString() + override fun transformArgs(args: List): List { - return super.transformArgs(args) + listOf("-Xproject-dir", project.projectDir.toString()) + return super.transformArgs(args) + listOf("-Xproject-dir", projectDir) } override val execEnvironment by lazy { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt index 2738fc889d6..c0bd3402000 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt @@ -25,6 +25,13 @@ import java.util.concurrent.ConcurrentHashMap abstract class KotlinToolRunner( private val executionContext: GradleExecutionContext ) { + @Deprecated( + "Using Project object is not compatible with Gradle Configuration Cache", + ReplaceWith("KotlinToolRunner(GradleExecutionContext.fromTaskContext())"), + DeprecationLevel.WARNING + ) + constructor(project: Project): this(GradleExecutionContext.fromProject(project)) + /** * Context Services that are required for [KotlinToolRunner] during Gradle Task Execution Phase */