[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 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
|
||||
|
||||
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
|
||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryDependency
|
||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
||||
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.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 resolve(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>)
|
||||
|
||||
@ExternalKotlinTargetApi
|
||||
object Empty : IdeAdditionalArtifactResolver {
|
||||
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
|
||||
* 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
|
||||
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