[Gradle] Implement separate SourcesAndDocumentationResolution DependencyResolutionPhase

^KT-55289 Verification Pending
This commit is contained in:
Sebastian Sellmair
2022-12-07 14:54:06 +01:00
committed by Space Team
parent fd50860b57
commit 7b2c4856c4
2 changed files with 24 additions and 12 deletions
@@ -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.
*/
@@ -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
)
}
}