diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTasks.kt index 9aa7870dd2b..6acf055b4ad 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CommonizerTasks.kt @@ -13,8 +13,7 @@ import org.jetbrains.kotlin.gradle.internal.isInIdeaSync import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider import org.jetbrains.kotlin.gradle.plugin.whenEvaluated import org.jetbrains.kotlin.gradle.tasks.dependsOn -import org.jetbrains.kotlin.gradle.tasks.locateTask -import org.jetbrains.kotlin.gradle.tasks.registerTask +import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask internal val Project.isCInteropCommonizationEnabled: Boolean get() = PropertiesProvider(this).enableCInteropCommonization @@ -108,13 +107,3 @@ internal val Project.cleanNativeDistributionCommonizerTask: TaskProvider } ) } - -private inline fun Project.locateOrRegisterTask( - name: String, - args: List = emptyList(), - invokeWhenRegistered: (TaskProvider.() -> Unit) = {}, - noinline configureTask: (T.() -> Unit)? = null -): TaskProvider { - locateTask(name)?.let { return it } - return registerTask(name, args, configureTask).also(invokeWhenRegistered) -} diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt index 4edff57ba9a..16cf8a124be 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt @@ -78,6 +78,16 @@ internal inline fun Project.locateOrRegisterTask(name: String return project.locateTask(name) ?: project.registerTask(name, T::class.java, body = body) } +internal inline fun Project.locateOrRegisterTask( + name: String, + args: List = emptyList(), + invokeWhenRegistered: (TaskProvider.() -> Unit) = {}, + noinline configureTask: (T.() -> Unit)? = null +): TaskProvider { + locateTask(name)?.let { return it } + return registerTask(name, args, configureTask).also(invokeWhenRegistered) +} + internal open class KotlinTasksProvider { open fun registerKotlinJVMTask( project: Project, @@ -190,4 +200,4 @@ internal class AndroidTasksProvider : KotlinTasksProvider() { it.useModuleDetection.set(true) } } -} \ No newline at end of file +}