From c7b4057dabc679ccf7979074671dfac6f0d2f6a9 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Mon, 16 Oct 2023 18:26:16 +0200 Subject: [PATCH] [Gradle] Implement KotlinProjectSetupCoroutine as util to easily launch configure action as suspending code KT-61634 --- .../kotlin/gradle/plugin/KotlinProjectSetupAction.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProjectSetupAction.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProjectSetupAction.kt index 2aaae8a481c..b71dff7e5e8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProjectSetupAction.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProjectSetupAction.kt @@ -1,3 +1,5 @@ +@file:Suppress("FunctionName") + package org.jetbrains.kotlin.gradle.plugin import org.gradle.api.Project @@ -14,6 +16,10 @@ internal fun interface KotlinProjectSetupAction { } } +internal fun KotlinProjectSetupCoroutine(action: suspend Project.() -> Unit) = KotlinProjectSetupAction { + project.launch { action() } +} + internal fun Project.runKotlinProjectSetupActions() { KotlinProjectSetupAction.extensionPoint[this].forEach { action -> with(action) { invoke() }