[Gradle] Fix kotlin-native-gradle-plugin to be compatible with KonanToolRunner
KonanToolRunner was changed to be compatible with Gradle Configuration Cache.
This commit is contained in:
+5
-3
@@ -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<Any, URLClassLoader>
|
||||
final override val isolatedClassLoaders = project.project(":kotlin-native").ext["toolClassLoadersMap"] as ConcurrentHashMap<Any, URLClassLoader>
|
||||
|
||||
override fun transformArgs(args: List<String>) = listOf(toolName) + args
|
||||
|
||||
@@ -140,8 +140,10 @@ internal class KonanCliInteropRunner(
|
||||
additionalJvmArgs: List<String> = emptyList(),
|
||||
konanHome: String = project.konanHome
|
||||
) : KonanCliRunner("cinterop", project, additionalJvmArgs, konanHome) {
|
||||
private val projectDir = project.projectDir.toString()
|
||||
|
||||
override fun transformArgs(args: List<String>): List<String> {
|
||||
return super.transformArgs(args) + listOf("-Xproject-dir", project.projectDir.toString())
|
||||
return super.transformArgs(args) + listOf("-Xproject-dir", projectDir)
|
||||
}
|
||||
|
||||
override val execEnvironment by lazy {
|
||||
|
||||
+7
@@ -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
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user