[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"
|
private const val runFromDaemonPropertyName = "kotlin.native.tool.runFromDaemon"
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION") // calling KotlinToolRunner(project) constructor is deprecated
|
||||||
internal abstract class KonanCliRunner(
|
internal abstract class KonanCliRunner(
|
||||||
protected val toolName: String,
|
protected val toolName: String,
|
||||||
project: Project,
|
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.
|
// A separate map for each build for automatic cleaning the daemon after the build have finished.
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
final override val isolatedClassLoaders get() =
|
final override val isolatedClassLoaders = project.project(":kotlin-native").ext["toolClassLoadersMap"] as ConcurrentHashMap<Any, URLClassLoader>
|
||||||
project.project(":kotlin-native").ext["toolClassLoadersMap"] as ConcurrentHashMap<Any, URLClassLoader>
|
|
||||||
|
|
||||||
override fun transformArgs(args: List<String>) = listOf(toolName) + args
|
override fun transformArgs(args: List<String>) = listOf(toolName) + args
|
||||||
|
|
||||||
@@ -140,8 +140,10 @@ internal class KonanCliInteropRunner(
|
|||||||
additionalJvmArgs: List<String> = emptyList(),
|
additionalJvmArgs: List<String> = emptyList(),
|
||||||
konanHome: String = project.konanHome
|
konanHome: String = project.konanHome
|
||||||
) : KonanCliRunner("cinterop", project, additionalJvmArgs, konanHome) {
|
) : KonanCliRunner("cinterop", project, additionalJvmArgs, konanHome) {
|
||||||
|
private val projectDir = project.projectDir.toString()
|
||||||
|
|
||||||
override fun transformArgs(args: List<String>): List<String> {
|
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 {
|
override val execEnvironment by lazy {
|
||||||
|
|||||||
+7
@@ -25,6 +25,13 @@ import java.util.concurrent.ConcurrentHashMap
|
|||||||
abstract class KotlinToolRunner(
|
abstract class KotlinToolRunner(
|
||||||
private val executionContext: GradleExecutionContext
|
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
|
* Context Services that are required for [KotlinToolRunner] during Gradle Task Execution Phase
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user