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.process.ExecResult
import org.gradle.process.ExecSpec
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.konan.target.*
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.
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 {
return this.execClang(emptyList<String>(), closure)
return this.execClang(emptyList(), closure)
}
// 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 {
val defaultArgs = platformManager.platform(target).clang.clangArgs.toList()
return project.exec(Action<ExecSpec> {
return project.exec {
action.execute(this)
executable = if (target.family.isAppleFamily) {
resolveToolchainExecutable(target, executable)
@@ -113,14 +112,14 @@ class ExecClang(private val project: Project) {
resolveExecutable(executable)
}
args = defaultArgs + args
})
}
}
/**
* @see execClangForCompilerTests
*/
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.
@@ -129,7 +128,7 @@ class ExecClang(private val project: Project) {
}
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 {
@@ -141,11 +140,11 @@ class ExecClang(private val project: Project) {
}
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 {
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 {
@@ -153,7 +152,7 @@ class ExecClang(private val project: Project) {
action.execute(this)
executable = resolveExecutable(executable)
val hostPlatform = project.findProperty("hostPlatform") as Platform
val hostPlatform = platformManager.hostPlatform
environment["PATH"] = project.files(hostPlatform.clang.clangPaths).asPath +
java.io.File.pathSeparator + environment["PATH"]
args = args + defaultArgs
@@ -10,7 +10,6 @@ import org.gradle.api.Action
import org.gradle.api.Project
import org.gradle.process.ExecResult
import org.gradle.process.ExecSpec
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.konan.util.DependencyProcessor
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 {
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.process.ExecResult
import org.gradle.process.ExecSpec
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.konan.target.*
import java.io.*
@@ -38,7 +37,8 @@ import java.util.concurrent.TimeUnit
* @see org.gradle.api.Project.exec
*/
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?
}
@@ -62,6 +62,7 @@ fun create(project: Project): ExecutorService {
private fun wasmExecutor(project: Project) = object : ExecutorService {
val absoluteTargetToolchain = project.testTargetConfigurables.absoluteTargetToolchain
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec {
action.execute(this)
val exe = executable
@@ -141,7 +142,7 @@ fun runProcessWithInput(executor: (Action<in ExecSpec>) -> ExecResult?,
* @throws IllegalStateException if there are no executor in the project.
*/
val Project.executor: ExecutorService
get() = this.convention.plugins["executor"] as? ExecutorService
get() = this.extensions.findByName("executor") as? ExecutorService
?: 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`
*/
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? =
this@add.execute(Action {
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 localExecutorService(project: Project): ExecutorService = object : ExecutorService {
override val project: Project get() = project
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!")
val absoluteTargetSysRoot = configurables.absoluteTargetSysRoot
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec {
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.")
}.toTypedArray()
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult? = project.exec {
action.execute(this)
// Starting Xcode 11 `simctl spawn` requires explicit `--standalone` flag.
@@ -320,6 +327,8 @@ private fun sshExecutor(project: Project, testTarget: KonanTarget): ExecutorServ
else -> emptyList()
}
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult {
lateinit var executableWithLibs: ExecutableWithDynamicLibs
@@ -402,6 +411,8 @@ private fun deviceLauncher(project: Project) = object : ExecutorService {
private val bundleID = "org.jetbrains.kotlin.KonanTestLauncher"
override val project: Project get() = project
override fun execute(action: Action<in ExecSpec>): ExecResult? {
val result: ExecResult?
try {
@@ -23,7 +23,6 @@ import org.gradle.api.internal.CollectionCallbackActionDecorator
import org.gradle.api.internal.DefaultPolymorphicDomainObjectContainer
import org.gradle.api.internal.project.ProjectInternal
import org.gradle.internal.reflect.Instantiator
import org.gradle.util.ConfigureUtil
import kotlin.reflect.KClass
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) =
create(name, KonanProgram::class, args, configureAction)
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, 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) =
create(name, KonanDynamic::class, args, configureAction)
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, 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) =
create(name, KonanFramework::class, args, configureAction)
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, 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) =
create(name, KonanLibrary::class, args, configureAction)
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, 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) =
create(name, KonanBitcode::class, args, configureAction)
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, 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) =
create(name, KonanInteropLibrary::class, args, configureAction)
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, 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.publish.maven.MavenPom
import org.gradle.api.tasks.TaskProvider
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.gradle.plugin.tasks.KonanBuildingTask
import org.jetbrains.kotlin.konan.target.KonanTarget
import java.io.File
@@ -215,7 +214,7 @@ abstract class KonanBuildingConfig<T : KonanBuildingTask>(
target(targetString) { configureAction.execute(this) }
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
}
@@ -21,7 +21,6 @@ import org.gradle.api.Action
import org.gradle.api.Task
import org.gradle.api.file.FileCollection
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.tasks.KonanInteropTask
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 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(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.internal.DefaultUsageContext
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.konan.*
import org.jetbrains.kotlin.konan.target.HostManager
@@ -176,7 +175,7 @@ abstract class KonanArtifactWithLibrariesTask: KonanArtifactTask(), KonanArtifac
// 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(configure: KonanLibrariesSpec.() -> Unit) { libraries.configure() }
@@ -20,18 +20,11 @@ import groovy.lang.Closure
import org.gradle.api.Action
import org.gradle.api.file.FileCollection
import org.gradle.api.tasks.*
import org.gradle.util.ConfigureUtil
import org.gradle.workers.IsolationMode
import org.gradle.workers.WorkAction
import org.gradle.workers.WorkParameters
import org.gradle.workers.WorkerExecutor
import org.jetbrains.kotlin.gradle.plugin.konan.*
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 java.io.File
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(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(configure: IncludeDirectoriesSpec.() -> Unit) = includeDirs.configure()