[Gradle] ExternalTargetApi: Check-in/Document IdeDependencyEffect
KT-55524
This commit is contained in:
committed by
Space Team
parent
55cc2e5e42
commit
9978906f6f
@@ -1,3 +1,11 @@
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyEffect {
|
||||
public abstract fun invoke (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;Ljava/util/Set;)V
|
||||
}
|
||||
|
||||
public final class org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyEffectKt {
|
||||
public static final fun withEffect (Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver;Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyEffect;)Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver;
|
||||
}
|
||||
|
||||
public abstract interface class org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver {
|
||||
public static final field Companion Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver$Companion;
|
||||
public static final field DOCUMENTATION_BINARY_TYPE Ljava/lang/String;
|
||||
|
||||
+7
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin.ide
|
||||
|
||||
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
|
||||
@@ -13,10 +14,16 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
* It is not intended/capable of changing the resolution result, but can trigger side-effects, being sure
|
||||
* that the dependency resolution result is final.
|
||||
*/
|
||||
@ExternalKotlinTargetApi
|
||||
fun interface IdeDependencyEffect {
|
||||
operator fun invoke(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>)
|
||||
}
|
||||
|
||||
/**
|
||||
* Wraps the given [IdeDependencyResolver] with the specified [effect]
|
||||
* The resulting resolver will first resolve the dependencies and then execute the effect on the result
|
||||
*/
|
||||
@ExternalKotlinTargetApi
|
||||
fun IdeDependencyResolver.withEffect(effect: IdeDependencyEffect) = IdeDependencyResolver { sourceSet ->
|
||||
this@withEffect.resolve(sourceSet).also { dependencies -> effect(sourceSet, dependencies) }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user