[Gradle] IdeAdditionalArtifactResolver, IdeDependencyResolver: Replace object Empty with companion val empty

... to remove the type from the API surface.

KT-58601
This commit is contained in:
Sebastian Sellmair
2023-05-10 11:35:55 +02:00
committed by Space Team
parent df8b098cc0
commit ca38f3192c
4 changed files with 22 additions and 22 deletions
@@ -1,10 +1,10 @@
public abstract interface class org/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver {
public static final field Companion Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver$Companion;
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 final class org/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver$Companion {
public final fun getEmpty ()Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver;
}
public abstract interface class org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyEffect {
@@ -25,17 +25,13 @@ public abstract interface class org/jetbrains/kotlin/gradle/plugin/ide/IdeDepend
public final class org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver$Companion {
public static final field DOCUMENTATION_BINARY_TYPE Ljava/lang/String;
public static final field SOURCES_BINARY_TYPE Ljava/lang/String;
public final fun getEmpty ()Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver;
public final fun getGradleArtifact (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependency;)Lorg/gradle/api/artifacts/result/ResolvedArtifactResult;
public final fun getResolvedBy (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependency;)Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver;
public final fun setGradleArtifact (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependency;Lorg/gradle/api/artifacts/result/ResolvedArtifactResult;)V
public final fun setResolvedBy (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependency;Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver;)V
}
public final class org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver$Empty : org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver {
public static final field INSTANCE Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver$Empty;
public fun resolve (Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;)Ljava/util/Set;
}
public abstract interface class org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver$WithBuildDependencies {
public abstract fun dependencies (Lorg/gradle/api/Project;)Ljava/lang/Iterable;
}
@@ -46,8 +46,11 @@ fun interface IdeAdditionalArtifactResolver {
fun resolve(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>)
@ExternalKotlinTargetApi
object Empty : IdeAdditionalArtifactResolver {
override fun resolve(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>) = Unit
companion object {
/**
* Empty [IdeAdditionalArtifactResolver] that will not resolve any artifact (noop)
*/
val empty = IdeAdditionalArtifactResolver { _, _ -> }
}
}
@@ -53,13 +53,14 @@ fun interface IdeDependencyResolver {
fun dependencies(project: Project): Iterable<Any>
}
@ExternalKotlinTargetApi
object Empty : IdeDependencyResolver {
override fun resolve(sourceSet: KotlinSourceSet): Set<IdeaKotlinDependency> = emptySet()
}
@ExternalKotlinTargetApi
companion object {
/**
* [IdeDependencyResolver] that will just return an empty Set of dependencies (noop)
*/
val empty = IdeDependencyResolver { emptySet() }
/**
* Special binaryType String that indicates that a certain dependency is only a sources.jar and
* therefore should be attached as extra to the binary dependency.
@@ -98,10 +99,10 @@ fun interface IdeDependencyResolver {
*/
@ExternalKotlinTargetApi
fun IdeDependencyResolver(
resolvers: Iterable<IdeDependencyResolver?>
resolvers: Iterable<IdeDependencyResolver?>,
): IdeDependencyResolver {
val resolversList = resolvers.filterNotNull()
if (resolversList.isEmpty()) return IdeDependencyResolver.Empty
if (resolversList.isEmpty()) return IdeDependencyResolver.empty
return IdeCompositeDependencyResolver(resolversList)
}
@@ -113,7 +114,7 @@ fun IdeDependencyResolver(
*/
@ExternalKotlinTargetApi
fun IdeDependencyResolver(
vararg resolvers: IdeDependencyResolver?
vararg resolvers: IdeDependencyResolver?,
): IdeDependencyResolver = IdeDependencyResolver(resolvers.toList())
@@ -138,7 +139,7 @@ operator fun IdeDependencyResolver.plus(other: IdeDependencyResolver): IdeDepend
}
private class IdeCompositeDependencyResolver(
val children: List<IdeDependencyResolver>
val children: List<IdeDependencyResolver>,
) : IdeDependencyResolver, IdeDependencyResolver.WithBuildDependencies {
override fun resolve(sourceSet: KotlinSourceSet): Set<IdeaKotlinDependency> {
return children.flatMap { child -> child.resolve(sourceSet) }.toSet()
@@ -164,21 +164,21 @@ internal fun IdeMultiplatformImport(extension: KotlinProjectExtension): IdeMulti
/* Overwrite android dependencies by empty resolver */
registerDependencyResolver(
resolver = IdeDependencyResolver.Empty,
resolver = IdeDependencyResolver.empty,
constraint = SourceSetConstraint.isAndroid,
phase = IdeMultiplatformImport.DependencyResolutionPhase.BinaryDependencyResolution,
level = IdeMultiplatformImport.DependencyResolutionLevel.Overwrite
)
registerDependencyResolver(
resolver = IdeDependencyResolver.Empty,
resolver = IdeDependencyResolver.empty,
constraint = SourceSetConstraint.isAndroid,
phase = IdeMultiplatformImport.DependencyResolutionPhase.SourcesAndDocumentationResolution,
level = IdeMultiplatformImport.DependencyResolutionLevel.Overwrite
)
registerAdditionalArtifactResolver(
resolver = IdeAdditionalArtifactResolver.Empty,
resolver = IdeAdditionalArtifactResolver.empty,
constraint = SourceSetConstraint.isAndroid,
phase = IdeMultiplatformImport.AdditionalArtifactResolutionPhase.SourcesAndDocumentationResolution,
level = IdeMultiplatformImport.AdditionalArtifactResolutionLevel.Overwrite