From 7b2c4856c463866653ba04d568a55086601517f7 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Wed, 7 Dec 2022 14:54:06 +0100 Subject: [PATCH] [Gradle] Implement separate `SourcesAndDocumentationResolution` DependencyResolutionPhase ^KT-55289 Verification Pending --- .../plugin/ide/IdeMultiplatformImport.kt | 5 +++ .../ide/IdeMultiplatformImportFactory.kt | 31 ++++++++++++------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/IdeMultiplatformImport.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/IdeMultiplatformImport.kt index 020f702d473..c9a99be6bd3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/IdeMultiplatformImport.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/IdeMultiplatformImport.kt @@ -88,6 +88,11 @@ interface IdeMultiplatformImport { */ BinaryDependencyResolution, + /** + * Resolution phase intended to resolve sources.jar and javadoc.jar dependencies (downloading and transforming from repositories) + */ + SourcesAndDocumentationResolution, + /** * Generic phase intended to run after all other resolvers. */ diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/IdeMultiplatformImportFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/IdeMultiplatformImportFactory.kt index 97097d47b5b..f65086844f9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/IdeMultiplatformImportFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/IdeMultiplatformImportFactory.kt @@ -95,32 +95,24 @@ internal fun IdeMultiplatformImport(extension: KotlinProjectExtension): IdeMulti level = IdeMultiplatformImport.DependencyResolutionLevel.Default ) - /* Overwrite android dependencies by empty resolver */ - registerDependencyResolver( - resolver = IdeDependencyResolver.Empty, - constraint = SourceSetConstraint.isAndroid, - phase = IdeMultiplatformImport.DependencyResolutionPhase.BinaryDependencyResolution, - level = IdeMultiplatformImport.DependencyResolutionLevel.Overwrite - ) - registerDependencyResolver( resolver = IdeNativeStdlibSourcesResolver, constraint = SourceSetConstraint.isNative, - phase = IdeMultiplatformImport.DependencyResolutionPhase.SourceDependencyResolution, + phase = IdeMultiplatformImport.DependencyResolutionPhase.SourcesAndDocumentationResolution, level = IdeMultiplatformImport.DependencyResolutionLevel.Default ) registerDependencyResolver( resolver = IdePlatformSourcesResolver(), constraint = SourceSetConstraint.isSinglePlatformType, - phase = IdeMultiplatformImport.DependencyResolutionPhase.SourceDependencyResolution, + phase = IdeMultiplatformImport.DependencyResolutionPhase.SourcesAndDocumentationResolution, level = IdeMultiplatformImport.DependencyResolutionLevel.Default ) registerDependencyResolver( resolver = IdeMetadataSourcesResolver(), constraint = !SourceSetConstraint.isSinglePlatformType, - phase = IdeMultiplatformImport.DependencyResolutionPhase.BinaryDependencyResolution, + phase = IdeMultiplatformImport.DependencyResolutionPhase.SourcesAndDocumentationResolution, level = IdeMultiplatformImport.DependencyResolutionLevel.Default ) @@ -128,7 +120,7 @@ internal fun IdeMultiplatformImport(extension: KotlinProjectExtension): IdeMulti registerDependencyResolver( resolver = IdeArtifactResolutionQuerySourcesAndDocumentationResolver, constraint = SourceSetConstraint.unconstrained, - phase = IdeMultiplatformImport.DependencyResolutionPhase.BinaryDependencyResolution, + phase = IdeMultiplatformImport.DependencyResolutionPhase.SourcesAndDocumentationResolution, level = IdeMultiplatformImport.DependencyResolutionLevel.Default ) } @@ -145,5 +137,20 @@ internal fun IdeMultiplatformImport(extension: KotlinProjectExtension): IdeMulti ) registerExtrasSerializationExtension(kotlinExtrasSerialization) + + /* Overwrite android dependencies by empty resolver */ + registerDependencyResolver( + resolver = IdeDependencyResolver.Empty, + constraint = SourceSetConstraint.isAndroid, + phase = IdeMultiplatformImport.DependencyResolutionPhase.BinaryDependencyResolution, + level = IdeMultiplatformImport.DependencyResolutionLevel.Overwrite + ) + + registerDependencyResolver( + resolver = IdeDependencyResolver.Empty, + constraint = SourceSetConstraint.isAndroid, + phase = IdeMultiplatformImport.DependencyResolutionPhase.SourcesAndDocumentationResolution, + level = IdeMultiplatformImport.DependencyResolutionLevel.Overwrite + ) } }