[Gradle] ExternalTargetApi: Check-in/Document IdeAdditionalArtifactResolver
KT-55524
This commit is contained in:
committed by
Space Team
parent
6cfcea0401
commit
6a38162b45
@@ -1,3 +1,12 @@
|
|||||||
|
public abstract interface class org/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver {
|
||||||
|
public abstract fun resolve (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;Ljava/util/Set;)V
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class org/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver$Empty : org/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver {
|
||||||
|
public static final field INSTANCE Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver$Empty;
|
||||||
|
public fun resolve (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;Ljava/util/Set;)V
|
||||||
|
}
|
||||||
|
|
||||||
public abstract interface class org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyEffect {
|
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 abstract fun invoke (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;Ljava/util/Set;)V
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-3
@@ -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.IdeaKotlinBinaryDependency
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryDependency
|
||||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
||||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency
|
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency
|
||||||
@@ -14,10 +15,22 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver.Companion.DOCUMENTATION_BINARY_TYPE
|
import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver.Companion.DOCUMENTATION_BINARY_TYPE
|
||||||
import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver.Companion.SOURCES_BINARY_TYPE
|
import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver.Companion.SOURCES_BINARY_TYPE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resolver for attaching additional artifacts to already resolved dependencies.
|
||||||
|
* #### Example
|
||||||
|
* ```
|
||||||
|
* val sourcesJarResolver = IdeAdditionalArtifactResolver { sourceSet, dependencies ->
|
||||||
|
* dependencies.forEach { dependency ->
|
||||||
|
* dependency.sourcesClasspath.add(findMySourcesJarFile(dependency))
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
@ExternalKotlinTargetApi
|
||||||
fun interface IdeAdditionalArtifactResolver {
|
fun interface IdeAdditionalArtifactResolver {
|
||||||
fun resolve(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>)
|
fun resolve(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>)
|
||||||
|
|
||||||
|
@ExternalKotlinTargetApi
|
||||||
object Empty : IdeAdditionalArtifactResolver {
|
object Empty : IdeAdditionalArtifactResolver {
|
||||||
override fun resolve(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>) = Unit
|
override fun resolve(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>) = Unit
|
||||||
}
|
}
|
||||||
@@ -41,7 +54,7 @@ internal fun IdeAdditionalArtifactResolver(resolvers: Iterable<IdeAdditionalArti
|
|||||||
* Dependencies from the [IdeDependencyResolver] need to resolve sources and javadoc using
|
* Dependencies from the [IdeDependencyResolver] need to resolve sources and javadoc using
|
||||||
* the [SOURCES_BINARY_TYPE] or [DOCUMENTATION_BINARY_TYPE]
|
* the [SOURCES_BINARY_TYPE] or [DOCUMENTATION_BINARY_TYPE]
|
||||||
*/
|
*/
|
||||||
fun IdeAdditionalArtifactResolver(resolver: IdeDependencyResolver) = IdeAdditionalArtifactResolver { sourceSet, dependencies ->
|
internal fun IdeAdditionalArtifactResolver(resolver: IdeDependencyResolver) = IdeAdditionalArtifactResolver { sourceSet, dependencies ->
|
||||||
/*
|
/*
|
||||||
Group already resolved dependencies by their coordinates (ignoring sourceSetName, since -sources.jar are not published
|
Group already resolved dependencies by their coordinates (ignoring sourceSetName, since -sources.jar are not published
|
||||||
on a "per source set" level.)
|
on a "per source set" level.)
|
||||||
@@ -71,4 +84,4 @@ fun IdeAdditionalArtifactResolver(resolver: IdeDependencyResolver) = IdeAddition
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun IdeDependencyResolver.asAdditionalArtifactResolver() = IdeAdditionalArtifactResolver(this)
|
internal fun IdeDependencyResolver.asAdditionalArtifactResolver() = IdeAdditionalArtifactResolver(this)
|
||||||
Reference in New Issue
Block a user