[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 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 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 final class org/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver$Companion {
public static final field INSTANCE Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver$Empty; public final fun getEmpty ()Lorg/jetbrains/kotlin/gradle/plugin/ide/IdeAdditionalArtifactResolver;
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 {
@@ -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 final class org/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;
public static final field SOURCES_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 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 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 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 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 interface class org/jetbrains/kotlin/gradle/plugin/ide/IdeDependencyResolver$WithBuildDependencies {
public abstract fun dependencies (Lorg/gradle/api/Project;)Ljava/lang/Iterable; 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>) fun resolve(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>)
@ExternalKotlinTargetApi @ExternalKotlinTargetApi
object Empty : IdeAdditionalArtifactResolver { companion object {
override fun resolve(sourceSet: KotlinSourceSet, dependencies: Set<IdeaKotlinDependency>) = Unit /**
* 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> fun dependencies(project: Project): Iterable<Any>
} }
@ExternalKotlinTargetApi
object Empty : IdeDependencyResolver {
override fun resolve(sourceSet: KotlinSourceSet): Set<IdeaKotlinDependency> = emptySet()
}
@ExternalKotlinTargetApi @ExternalKotlinTargetApi
companion object { 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 * 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. * therefore should be attached as extra to the binary dependency.
@@ -98,10 +99,10 @@ fun interface IdeDependencyResolver {
*/ */
@ExternalKotlinTargetApi @ExternalKotlinTargetApi
fun IdeDependencyResolver( fun IdeDependencyResolver(
resolvers: Iterable<IdeDependencyResolver?> resolvers: Iterable<IdeDependencyResolver?>,
): IdeDependencyResolver { ): IdeDependencyResolver {
val resolversList = resolvers.filterNotNull() val resolversList = resolvers.filterNotNull()
if (resolversList.isEmpty()) return IdeDependencyResolver.Empty if (resolversList.isEmpty()) return IdeDependencyResolver.empty
return IdeCompositeDependencyResolver(resolversList) return IdeCompositeDependencyResolver(resolversList)
} }
@@ -113,7 +114,7 @@ fun IdeDependencyResolver(
*/ */
@ExternalKotlinTargetApi @ExternalKotlinTargetApi
fun IdeDependencyResolver( fun IdeDependencyResolver(
vararg resolvers: IdeDependencyResolver? vararg resolvers: IdeDependencyResolver?,
): IdeDependencyResolver = IdeDependencyResolver(resolvers.toList()) ): IdeDependencyResolver = IdeDependencyResolver(resolvers.toList())
@@ -138,7 +139,7 @@ operator fun IdeDependencyResolver.plus(other: IdeDependencyResolver): IdeDepend
} }
private class IdeCompositeDependencyResolver( private class IdeCompositeDependencyResolver(
val children: List<IdeDependencyResolver> val children: List<IdeDependencyResolver>,
) : IdeDependencyResolver, IdeDependencyResolver.WithBuildDependencies { ) : IdeDependencyResolver, IdeDependencyResolver.WithBuildDependencies {
override fun resolve(sourceSet: KotlinSourceSet): Set<IdeaKotlinDependency> { override fun resolve(sourceSet: KotlinSourceSet): Set<IdeaKotlinDependency> {
return children.flatMap { child -> child.resolve(sourceSet) }.toSet() return children.flatMap { child -> child.resolve(sourceSet) }.toSet()
@@ -164,21 +164,21 @@ internal fun IdeMultiplatformImport(extension: KotlinProjectExtension): IdeMulti
/* Overwrite android dependencies by empty resolver */ /* Overwrite android dependencies by empty resolver */
registerDependencyResolver( registerDependencyResolver(
resolver = IdeDependencyResolver.Empty, resolver = IdeDependencyResolver.empty,
constraint = SourceSetConstraint.isAndroid, constraint = SourceSetConstraint.isAndroid,
phase = IdeMultiplatformImport.DependencyResolutionPhase.BinaryDependencyResolution, phase = IdeMultiplatformImport.DependencyResolutionPhase.BinaryDependencyResolution,
level = IdeMultiplatformImport.DependencyResolutionLevel.Overwrite level = IdeMultiplatformImport.DependencyResolutionLevel.Overwrite
) )
registerDependencyResolver( registerDependencyResolver(
resolver = IdeDependencyResolver.Empty, resolver = IdeDependencyResolver.empty,
constraint = SourceSetConstraint.isAndroid, constraint = SourceSetConstraint.isAndroid,
phase = IdeMultiplatformImport.DependencyResolutionPhase.SourcesAndDocumentationResolution, phase = IdeMultiplatformImport.DependencyResolutionPhase.SourcesAndDocumentationResolution,
level = IdeMultiplatformImport.DependencyResolutionLevel.Overwrite level = IdeMultiplatformImport.DependencyResolutionLevel.Overwrite
) )
registerAdditionalArtifactResolver( registerAdditionalArtifactResolver(
resolver = IdeAdditionalArtifactResolver.Empty, resolver = IdeAdditionalArtifactResolver.empty,
constraint = SourceSetConstraint.isAndroid, constraint = SourceSetConstraint.isAndroid,
phase = IdeMultiplatformImport.AdditionalArtifactResolutionPhase.SourcesAndDocumentationResolution, phase = IdeMultiplatformImport.AdditionalArtifactResolutionPhase.SourcesAndDocumentationResolution,
level = IdeMultiplatformImport.AdditionalArtifactResolutionLevel.Overwrite level = IdeMultiplatformImport.AdditionalArtifactResolutionLevel.Overwrite