Build: Fix usages of deprecated ConfigureUtil in kotlin-native

Required for Gradle 7+ #KTI-559
This commit is contained in:
Vyacheslav Gerasimov
2021-08-18 12:41:00 +03:00
parent 2d06cf674b
commit af541dc6d3
8 changed files with 34 additions and 36 deletions
@@ -22,7 +22,6 @@ import org.gradle.api.GradleException
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.process.ExecResult import org.gradle.process.ExecResult
import org.gradle.process.ExecSpec import org.gradle.process.ExecSpec
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.konan.target.* import org.jetbrains.kotlin.konan.target.*
import org.jetbrains.kotlin.konan.file.* import org.jetbrains.kotlin.konan.file.*
@@ -69,11 +68,11 @@ class ExecClang(private val project: Project) {
// The bare ones invoke clang with system default sysroot. // The bare ones invoke clang with system default sysroot.
fun execBareClang(action: Action<in ExecSpec>): ExecResult { fun execBareClang(action: Action<in ExecSpec>): ExecResult {
return this.execClang(emptyList<String>(), action) return this.execClang(emptyList(), action)
} }
fun execBareClang(closure: Closure<in ExecSpec>): ExecResult { fun execBareClang(closure: Closure<in ExecSpec>): ExecResult {
return this.execClang(emptyList<String>(), closure) return this.execClang(emptyList(), closure)
} }
// The konan ones invoke clang with konan provided sysroots. // The konan ones invoke clang with konan provided sysroots.
@@ -105,7 +104,7 @@ class ExecClang(private val project: Project) {
*/ */
fun execClangForCompilerTests(target: KonanTarget, action: Action<in ExecSpec>): ExecResult { fun execClangForCompilerTests(target: KonanTarget, action: Action<in ExecSpec>): ExecResult {
val defaultArgs = platformManager.platform(target).clang.clangArgs.toList() val defaultArgs = platformManager.platform(target).clang.clangArgs.toList()
return project.exec(Action<ExecSpec> { return project.exec {
action.execute(this) action.execute(this)
executable = if (target.family.isAppleFamily) { executable = if (target.family.isAppleFamily) {
resolveToolchainExecutable(target, executable) resolveToolchainExecutable(target, executable)
@@ -113,14 +112,14 @@ class ExecClang(private val project: Project) {
resolveExecutable(executable) resolveExecutable(executable)
} }
args = defaultArgs + args args = defaultArgs + args
}) }
} }
/** /**
* @see execClangForCompilerTests * @see execClangForCompilerTests
*/ */
fun execClangForCompilerTests(target: KonanTarget, closure: Closure<in ExecSpec>): ExecResult = fun execClangForCompilerTests(target: KonanTarget, closure: Closure<in ExecSpec>): ExecResult =
execClangForCompilerTests(target, ConfigureUtil.configureUsing(closure)) execClangForCompilerTests(target) { project.configure(this, closure) }
// The toolchain ones execute clang from the toolchain. // The toolchain ones execute clang from the toolchain.
@@ -129,7 +128,7 @@ class ExecClang(private val project: Project) {
} }
fun execToolchainClang(target: String?, closure: Closure<in ExecSpec>): ExecResult { fun execToolchainClang(target: String?, closure: Closure<in ExecSpec>): ExecResult {
return this.execToolchainClang(platformManager.targetManager(target).target, ConfigureUtil.configureUsing(closure)) return this.execToolchainClang(platformManager.targetManager(target).target) { project.configure(this, closure) }
} }
fun execToolchainClang(target: KonanTarget, action: Action<in ExecSpec>): ExecResult { fun execToolchainClang(target: KonanTarget, action: Action<in ExecSpec>): ExecResult {
@@ -141,11 +140,11 @@ class ExecClang(private val project: Project) {
} }
fun execToolchainClang(target: KonanTarget, closure: Closure<in ExecSpec>): ExecResult { fun execToolchainClang(target: KonanTarget, closure: Closure<in ExecSpec>): ExecResult {
return this.execToolchainClang(target, ConfigureUtil.configureUsing(closure)) return this.execToolchainClang(target) { project.configure(this, closure) }
} }
private fun execClang(defaultArgs: List<String>, closure: Closure<in ExecSpec>): ExecResult { private fun execClang(defaultArgs: List<String>, closure: Closure<in ExecSpec>): ExecResult {
return this.execClang(defaultArgs, ConfigureUtil.configureUsing(closure)) return this.execClang(defaultArgs) { project.configure(this, closure) }
} }
private fun execClang(defaultArgs: List<String>, action: Action<in ExecSpec>): ExecResult { private fun execClang(defaultArgs: List<String>, action: Action<in ExecSpec>): ExecResult {
@@ -153,7 +152,7 @@ class ExecClang(private val project: Project) {
action.execute(this) action.execute(this)
executable = resolveExecutable(executable) executable = resolveExecutable(executable)
val hostPlatform = project.findProperty("hostPlatform") as Platform val hostPlatform = platformManager.hostPlatform
environment["PATH"] = project.files(hostPlatform.clang.clangPaths).asPath + environment["PATH"] = project.files(hostPlatform.clang.clangPaths).asPath +
java.io.File.pathSeparator + environment["PATH"] java.io.File.pathSeparator + environment["PATH"]
args = args + defaultArgs args = args + defaultArgs
@@ -10,7 +10,6 @@ import org.gradle.api.Action
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.process.ExecResult import org.gradle.process.ExecResult
import org.gradle.process.ExecSpec import org.gradle.process.ExecSpec
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.konan.util.DependencyProcessor import org.jetbrains.kotlin.konan.util.DependencyProcessor
fun execLlvmUtility(project: Project, utility: String, action: Action<in ExecSpec>): ExecResult { fun execLlvmUtility(project: Project, utility: String, action: Action<in ExecSpec>): ExecResult {
@@ -22,5 +21,5 @@ fun execLlvmUtility(project: Project, utility: String, action: Action<in ExecSpe
} }
fun execLlvmUtility(project: Project, utility: String, closure: Closure<in ExecSpec>): ExecResult { fun execLlvmUtility(project: Project, utility: String, closure: Closure<in ExecSpec>): ExecResult {
return execLlvmUtility(project, utility, ConfigureUtil.configureUsing(closure)) return execLlvmUtility(project, utility) { project.configure(this, closure) }
} }
@@ -22,7 +22,6 @@ import org.gradle.api.Action
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.process.ExecResult import org.gradle.process.ExecResult
import org.gradle.process.ExecSpec import org.gradle.process.ExecSpec
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.konan.target.* import org.jetbrains.kotlin.konan.target.*
import java.io.* import java.io.*
@@ -38,7 +37,8 @@ import java.util.concurrent.TimeUnit
* @see org.gradle.api.Project.exec * @see org.gradle.api.Project.exec
*/ */
interface ExecutorService { interface ExecutorService {
fun execute(closure: Closure<in ExecSpec>): ExecResult? = execute(ConfigureUtil.configureUsing(closure)) val project: Project
fun execute(closure: Closure<in ExecSpec>): ExecResult? = execute { project.configure(this, closure) }
fun execute(action: Action<in ExecSpec>): ExecResult? fun execute(action: Action<in ExecSpec>): ExecResult?
} }
@@ -62,6 +62,7 @@ fun create(project: Project): ExecutorService {
private fun wasmExecutor(project: Project) = object : ExecutorService { private fun wasmExecutor(project: Project) = object : ExecutorService {
val absoluteTargetToolchain = project.testTargetConfigurables.absoluteTargetToolchain val absoluteTargetToolchain = project.testTargetConfigurables.absoluteTargetToolchain
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec { override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec {
action.execute(this) action.execute(this)
val exe = executable val exe = executable
@@ -141,7 +142,7 @@ fun runProcessWithInput(executor: (Action<in ExecSpec>) -> ExecResult?,
* @throws IllegalStateException if there are no executor in the project. * @throws IllegalStateException if there are no executor in the project.
*/ */
val Project.executor: ExecutorService val Project.executor: ExecutorService
get() = this.convention.plugins["executor"] as? ExecutorService get() = this.extensions.findByName("executor") as? ExecutorService
?: throw IllegalStateException("Executor wasn't found") ?: throw IllegalStateException("Executor wasn't found")
/** /**
@@ -150,6 +151,7 @@ val Project.executor: ExecutorService
* @code `executor.add(Action { it.environment = mapOf("JAVA_OPTS" to "-verbose:gc") })::execute` * @code `executor.add(Action { it.environment = mapOf("JAVA_OPTS" to "-verbose:gc") })::execute`
*/ */
fun ExecutorService.add(actionParameter: Action<in ExecSpec>) = object : ExecutorService { fun ExecutorService.add(actionParameter: Action<in ExecSpec>) = object : ExecutorService {
override val project: Project get() = this@add.project
override fun execute(action: Action<in ExecSpec>): ExecResult? = override fun execute(action: Action<in ExecSpec>): ExecResult? =
this@add.execute(Action { this@add.execute(Action {
action.execute(this) action.execute(this)
@@ -182,6 +184,7 @@ fun Project.executeAndCheck(executable: Path, arguments: List<String> = emptyLis
fun localExecutor(project: Project) = { a: Action<in ExecSpec> -> project.exec(a) } fun localExecutor(project: Project) = { a: Action<in ExecSpec> -> project.exec(a) }
fun localExecutorService(project: Project): ExecutorService = object : ExecutorService { fun localExecutorService(project: Project): ExecutorService = object : ExecutorService {
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec(action) override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec(action)
} }
@@ -190,6 +193,8 @@ private fun emulatorExecutor(project: Project, target: KonanTarget) = object : E
?: error("$target does not support emulation!") ?: error("$target does not support emulation!")
val absoluteTargetSysRoot = configurables.absoluteTargetSysRoot val absoluteTargetSysRoot = configurables.absoluteTargetSysRoot
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec { override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec {
action.execute(this) action.execute(this)
@@ -285,6 +290,8 @@ private fun simulator(project: Project): ExecutorService = object : ExecutorServ
else -> error("${target.architecture} can't be used in simulator.") else -> error("${target.architecture} can't be used in simulator.")
}.toTypedArray() }.toTypedArray()
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec { override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec {
action.execute(this) action.execute(this)
// Starting Xcode 11 `simctl spawn` requires explicit `--standalone` flag. // Starting Xcode 11 `simctl spawn` requires explicit `--standalone` flag.
@@ -320,6 +327,8 @@ private fun sshExecutor(project: Project, testTarget: KonanTarget): ExecutorServ
else -> emptyList() else -> emptyList()
} }
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult { override fun execute(action: Action<in ExecSpec>): ExecResult {
lateinit var executableWithLibs: ExecutableWithDynamicLibs lateinit var executableWithLibs: ExecutableWithDynamicLibs
@@ -402,6 +411,8 @@ private fun deviceLauncher(project: Project) = object : ExecutorService {
private val bundleID = "org.jetbrains.kotlin.KonanTestLauncher" private val bundleID = "org.jetbrains.kotlin.KonanTestLauncher"
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult? { override fun execute(action: Action<in ExecSpec>): ExecResult? {
val result: ExecResult? val result: ExecResult?
try { try {
@@ -23,7 +23,6 @@ import org.gradle.api.internal.CollectionCallbackActionDecorator
import org.gradle.api.internal.DefaultPolymorphicDomainObjectContainer import org.gradle.api.internal.DefaultPolymorphicDomainObjectContainer
import org.gradle.api.internal.project.ProjectInternal import org.gradle.api.internal.project.ProjectInternal
import org.gradle.internal.reflect.Instantiator import org.gradle.internal.reflect.Instantiator
import org.gradle.util.ConfigureUtil
import kotlin.reflect.KClass import kotlin.reflect.KClass
open class KonanArtifactContainer(val project: ProjectInternal) : DefaultPolymorphicDomainObjectContainer<KonanBuildingConfig<*>>( open class KonanArtifactContainer(val project: ProjectInternal) : DefaultPolymorphicDomainObjectContainer<KonanBuildingConfig<*>>(
@@ -96,7 +95,7 @@ open class KonanArtifactContainer(val project: ProjectInternal) : DefaultPolymor
fun program(args: Map<String, Any?>, name: String, configureAction: KonanProgram.() -> Unit) = fun program(args: Map<String, Any?>, name: String, configureAction: KonanProgram.() -> Unit) =
create(name, KonanProgram::class, args, configureAction) create(name, KonanProgram::class, args, configureAction)
fun program(args: Map<String, Any?>, name: String, configureAction: Closure<*>) = fun program(args: Map<String, Any?>, name: String, configureAction: Closure<*>) =
program(args, name, ConfigureUtil.configureUsing(configureAction)) program(args, name) { project.configure(this, configureAction) }
fun dynamic(args: Map<String, Any?>, name: String) = create(name, KonanDynamic::class, args) fun dynamic(args: Map<String, Any?>, name: String) = create(name, KonanDynamic::class, args)
fun dynamic(args: Map<String, Any?>, name: String, configureAction: Action<KonanDynamic>) = fun dynamic(args: Map<String, Any?>, name: String, configureAction: Action<KonanDynamic>) =
@@ -104,7 +103,7 @@ open class KonanArtifactContainer(val project: ProjectInternal) : DefaultPolymor
fun dynamic(args: Map<String, Any?>, name: String, configureAction: KonanDynamic.() -> Unit) = fun dynamic(args: Map<String, Any?>, name: String, configureAction: KonanDynamic.() -> Unit) =
create(name, KonanDynamic::class, args, configureAction) create(name, KonanDynamic::class, args, configureAction)
fun dynamic(args: Map<String, Any?>, name: String, configureAction: Closure<*>) = fun dynamic(args: Map<String, Any?>, name: String, configureAction: Closure<*>) =
dynamic(args, name, ConfigureUtil.configureUsing(configureAction)) dynamic(args, name) { project.configure(this, configureAction) }
fun framework(args: Map<String, Any?>, name: String) = create(name, KonanFramework::class, args) fun framework(args: Map<String, Any?>, name: String) = create(name, KonanFramework::class, args)
fun framework(args: Map<String, Any?>, name: String, configureAction: Action<KonanFramework>) = fun framework(args: Map<String, Any?>, name: String, configureAction: Action<KonanFramework>) =
@@ -112,7 +111,7 @@ open class KonanArtifactContainer(val project: ProjectInternal) : DefaultPolymor
fun framework(args: Map<String, Any?>, name: String, configureAction: KonanFramework.() -> Unit) = fun framework(args: Map<String, Any?>, name: String, configureAction: KonanFramework.() -> Unit) =
create(name, KonanFramework::class, args, configureAction) create(name, KonanFramework::class, args, configureAction)
fun framework(args: Map<String, Any?>, name: String, configureAction: Closure<*>) = fun framework(args: Map<String, Any?>, name: String, configureAction: Closure<*>) =
framework(args, name, ConfigureUtil.configureUsing(configureAction)) framework(args, name) { project.configure(this, configureAction) }
fun library(args: Map<String, Any?>, name: String) = create(name, KonanLibrary::class, args) fun library(args: Map<String, Any?>, name: String) = create(name, KonanLibrary::class, args)
fun library(args: Map<String, Any?>, name: String, configureAction: Action<KonanLibrary>) = fun library(args: Map<String, Any?>, name: String, configureAction: Action<KonanLibrary>) =
@@ -120,7 +119,7 @@ open class KonanArtifactContainer(val project: ProjectInternal) : DefaultPolymor
fun library(args: Map<String, Any?>, name: String, configureAction: KonanLibrary.() -> Unit) = fun library(args: Map<String, Any?>, name: String, configureAction: KonanLibrary.() -> Unit) =
create(name, KonanLibrary::class, args, configureAction) create(name, KonanLibrary::class, args, configureAction)
fun library(args: Map<String, Any?>, name: String, configureAction: Closure<*>) = fun library(args: Map<String, Any?>, name: String, configureAction: Closure<*>) =
library(args, name, ConfigureUtil.configureUsing(configureAction)) library(args, name) { project.configure(this, configureAction) }
fun bitcode(args: Map<String, Any?>, name: String) = create(name, KonanBitcode::class, args) fun bitcode(args: Map<String, Any?>, name: String) = create(name, KonanBitcode::class, args)
fun bitcode(args: Map<String, Any?>, name: String, configureAction: Action<KonanBitcode>) = fun bitcode(args: Map<String, Any?>, name: String, configureAction: Action<KonanBitcode>) =
@@ -128,7 +127,7 @@ open class KonanArtifactContainer(val project: ProjectInternal) : DefaultPolymor
fun bitcode(args: Map<String, Any?>, name: String, configureAction: KonanBitcode.() -> Unit) = fun bitcode(args: Map<String, Any?>, name: String, configureAction: KonanBitcode.() -> Unit) =
create(name, KonanBitcode::class, args, configureAction) create(name, KonanBitcode::class, args, configureAction)
fun bitcode(args: Map<String, Any?>, name: String, configureAction: Closure<*>) = fun bitcode(args: Map<String, Any?>, name: String, configureAction: Closure<*>) =
bitcode(args, name, ConfigureUtil.configureUsing(configureAction)) bitcode(args, name) { project.configure(this, configureAction) }
fun interop(args: Map<String, Any?>, name: String) = create(name, KonanInteropLibrary::class, args) fun interop(args: Map<String, Any?>, name: String) = create(name, KonanInteropLibrary::class, args)
fun interop(args: Map<String, Any?>, name: String, configureAction: Action<KonanInteropLibrary>) = fun interop(args: Map<String, Any?>, name: String, configureAction: Action<KonanInteropLibrary>) =
@@ -136,7 +135,7 @@ open class KonanArtifactContainer(val project: ProjectInternal) : DefaultPolymor
fun interop(args: Map<String, Any?>, name: String, configureAction: KonanInteropLibrary.() -> Unit) = fun interop(args: Map<String, Any?>, name: String, configureAction: KonanInteropLibrary.() -> Unit) =
create(name, KonanInteropLibrary::class, args, configureAction) create(name, KonanInteropLibrary::class, args, configureAction)
fun interop(args: Map<String, Any?>, name: String, configureAction: Closure<*>) = fun interop(args: Map<String, Any?>, name: String, configureAction: Closure<*>) =
interop(args, name, ConfigureUtil.configureUsing(configureAction)) interop(args, name) { project.configure(this, configureAction) }
fun program(name: String) = program(emptyMap(), name) fun program(name: String) = program(emptyMap(), name)
fun program(name: String, configureAction: Action<KonanProgram>) = program(emptyMap(), name, configureAction) fun program(name: String, configureAction: Action<KonanProgram>) = program(emptyMap(), name, configureAction)
@@ -26,7 +26,6 @@ import org.gradle.api.plugins.BasePlugin
import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.ExtensionAware
import org.gradle.api.publish.maven.MavenPom import org.gradle.api.publish.maven.MavenPom
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.gradle.plugin.tasks.KonanBuildingTask import org.jetbrains.kotlin.gradle.plugin.tasks.KonanBuildingTask
import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.konan.target.KonanTarget
import java.io.File import java.io.File
@@ -215,7 +214,7 @@ abstract class KonanBuildingConfig<T : KonanBuildingTask>(
target(targetString) { configureAction.execute(this) } target(targetString) { configureAction.execute(this) }
fun target(targetString: String, configureAction: Closure<Unit>) = fun target(targetString: String, configureAction: Closure<Unit>) =
target(targetString, ConfigureUtil.configureUsing(configureAction)) target(targetString) { project.configure(this, configureAction) }
fun pom(action: Action<MavenPom>) = pomActions + action fun pom(action: Action<MavenPom>) = pomActions + action
} }
@@ -21,7 +21,6 @@ import org.gradle.api.Action
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.file.FileCollection import org.gradle.api.file.FileCollection
import org.gradle.api.internal.project.ProjectInternal import org.gradle.api.internal.project.ProjectInternal
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.gradle.plugin.konan.KonanInteropSpec.IncludeDirectoriesSpec import org.jetbrains.kotlin.gradle.plugin.konan.KonanInteropSpec.IncludeDirectoriesSpec
import org.jetbrains.kotlin.gradle.plugin.tasks.KonanInteropTask import org.jetbrains.kotlin.gradle.plugin.tasks.KonanInteropTask
import java.io.File import java.io.File
@@ -72,7 +71,7 @@ open class KonanInteropLibrary(name: String,
override fun headers(files: FileCollection) = tasks().forEach { it.configure { headers(files) } } override fun headers(files: FileCollection) = tasks().forEach { it.configure { headers(files) } }
override fun includeDirs(vararg values: Any) = tasks().forEach { it.configure { includeDirs(*values) } } override fun includeDirs(vararg values: Any) = tasks().forEach { it.configure { includeDirs(*values) } }
override fun includeDirs(closure: Closure<Unit>) = includeDirs(ConfigureUtil.configureUsing(closure)) override fun includeDirs(closure: Closure<Unit>) = includeDirs { project.configure(this, closure) }
override fun includeDirs(action: Action<IncludeDirectoriesSpec>) = includeDirs { action.execute(this) } override fun includeDirs(action: Action<IncludeDirectoriesSpec>) = includeDirs { action.execute(this) }
override fun includeDirs(configure: IncludeDirectoriesSpec.() -> Unit) = includeDirs.configure() override fun includeDirs(configure: IncludeDirectoriesSpec.() -> Unit) = includeDirs.configure()
@@ -31,7 +31,6 @@ import org.gradle.api.tasks.*
import org.gradle.language.cpp.CppBinary import org.gradle.language.cpp.CppBinary
import org.gradle.language.cpp.internal.DefaultUsageContext import org.gradle.language.cpp.internal.DefaultUsageContext
import org.gradle.nativeplatform.Linkage import org.gradle.nativeplatform.Linkage
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.gradle.plugin.experimental.internal.compatibleVariantIdentity import org.jetbrains.kotlin.gradle.plugin.experimental.internal.compatibleVariantIdentity
import org.jetbrains.kotlin.gradle.plugin.konan.* import org.jetbrains.kotlin.gradle.plugin.konan.*
import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.konan.target.HostManager
@@ -176,7 +175,7 @@ abstract class KonanArtifactWithLibrariesTask: KonanArtifactTask(), KonanArtifac
// DSL // DSL
override fun libraries(closure: Closure<Unit>) = libraries(ConfigureUtil.configureUsing(closure)) override fun libraries(closure: Closure<Unit>) = libraries { project.configure(this, closure) }
override fun libraries(action: Action<KonanLibrariesSpec>) = libraries { action.execute(this) } override fun libraries(action: Action<KonanLibrariesSpec>) = libraries { action.execute(this) }
override fun libraries(configure: KonanLibrariesSpec.() -> Unit) { libraries.configure() } override fun libraries(configure: KonanLibrariesSpec.() -> Unit) { libraries.configure() }
@@ -20,18 +20,11 @@ import groovy.lang.Closure
import org.gradle.api.Action import org.gradle.api.Action
import org.gradle.api.file.FileCollection import org.gradle.api.file.FileCollection
import org.gradle.api.tasks.* import org.gradle.api.tasks.*
import org.gradle.util.ConfigureUtil
import org.gradle.workers.IsolationMode
import org.gradle.workers.WorkAction import org.gradle.workers.WorkAction
import org.gradle.workers.WorkParameters import org.gradle.workers.WorkParameters
import org.gradle.workers.WorkerExecutor import org.gradle.workers.WorkerExecutor
import org.jetbrains.kotlin.gradle.plugin.konan.* import org.jetbrains.kotlin.gradle.plugin.konan.*
import org.jetbrains.kotlin.gradle.plugin.konan.KonanInteropSpec.IncludeDirectoriesSpec import org.jetbrains.kotlin.gradle.plugin.konan.KonanInteropSpec.IncludeDirectoriesSpec
import org.jetbrains.kotlin.konan.CURRENT
import org.jetbrains.kotlin.konan.CompilerVersion
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.konan.target.KonanTarget
import java.io.File import java.io.File
import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ConcurrentHashMap
@@ -150,7 +143,7 @@ open class KonanInteropTask @Inject constructor(@Internal val workerExecutor: Wo
override fun includeDirs(vararg values: Any) = includeDirs.allHeaders(values.toList()) override fun includeDirs(vararg values: Any) = includeDirs.allHeaders(values.toList())
override fun includeDirs(closure: Closure<Unit>) = includeDirs(ConfigureUtil.configureUsing(closure)) override fun includeDirs(closure: Closure<Unit>) = includeDirs { project.configure(this, closure) }
override fun includeDirs(action: Action<IncludeDirectoriesSpec>) = includeDirs { action.execute(this) } override fun includeDirs(action: Action<IncludeDirectoriesSpec>) = includeDirs { action.execute(this) }
override fun includeDirs(configure: IncludeDirectoriesSpec.() -> Unit) = includeDirs.configure() override fun includeDirs(configure: IncludeDirectoriesSpec.() -> Unit) = includeDirs.configure()