[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 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 Companion Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver$Companion;
|
||||||
public static final field DOCUMENTATION_BINARY_TYPE Ljava/lang/String;
|
public static final field DOCUMENTATION_BINARY_TYPE Ljava/lang/String;
|
||||||
|
|||||||
+7
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.plugin.ide
|
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.idea.tcs.IdeaKotlinDependency
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
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
|
* It is not intended/capable of changing the resolution result, but can trigger side-effects, being sure
|
||||||
* that the dependency resolution result is final.
|
* that the dependency resolution result is final.
|
||||||
*/
|
*/
|
||||||
|
@ExternalKotlinTargetApi
|
||||||
fun interface IdeDependencyEffect {
|
fun interface IdeDependencyEffect {
|
||||||
operator fun invoke(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>)
|
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 ->
|
fun IdeDependencyResolver.withEffect(effect: IdeDependencyEffect) = IdeDependencyResolver { sourceSet ->
|
||||||
this@withEffect.resolve(sourceSet).also { dependencies -> effect(sourceSet, dependencies) }
|
this@withEffect.resolve(sourceSet).also { dependencies -> effect(sourceSet, dependencies) }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user