From 73483b7a7747bfcd24fb5f63ab3d6b156f6e3927 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Wed, 9 Aug 2023 17:45:50 +0200 Subject: [PATCH] [Gradle] Update functionalTests to reflect kotlin-stdlib-common pointing to kotlin-stdlib ^KT-60901 Verification Pending --- .../internal/KotlinDependenciesManagement.kt | 6 ++--- .../LazyResolvedConfigurationTest.kt | 10 ++++----- .../ResolvableMetadataConfigurationTest.kt | 11 ++++++++-- ...deSourcesAndDocumentationResolutionTest.kt | 2 +- .../tcs/IdeStdlibResolutionTest.kt | 22 +++++++++++++++++++ 5 files changed, 39 insertions(+), 12 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/KotlinDependenciesManagement.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/KotlinDependenciesManagement.kt index 8fd53550f67..56eb30516f3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/KotlinDependenciesManagement.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/KotlinDependenciesManagement.kt @@ -48,9 +48,7 @@ internal fun customizeKotlinDependencies(project: Project) { project.configureKotlinDomApiDefaultDependency(topLevelExtension, coreLibrariesVersion) } - project.configurations.configureDefaultVersionsResolutionStrategy( - coreLibrariesVersion - ) + project.configurations.configureDefaultVersionsResolutionStrategy(coreLibrariesVersion) if (propertiesProvider.stdlibJdkVariantsVersionAlignment) { project.configurations.configureStdlibVersionAlignment() @@ -60,7 +58,7 @@ internal fun customizeKotlinDependencies(project: Project) { } private fun ConfigurationContainer.configureDefaultVersionsResolutionStrategy( - coreLibrariesVersion: Provider + coreLibrariesVersion: Provider, ) = all { configuration -> configuration.withDependencies { dependencySet -> dependencySet diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/LazyResolvedConfigurationTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/LazyResolvedConfigurationTest.kt index 733846ea185..99446624157 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/LazyResolvedConfigurationTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/LazyResolvedConfigurationTest.kt @@ -73,16 +73,16 @@ class LazyResolvedConfigurationTest { /* Check stdlib-common dependency on commonMainCompileDependencies */ run { - val resolvedStdlibCommon = lazyCommonMainCompileDependencies.allResolvedDependencies.filter { dependencyResult -> - dependencyResult.resolvedVariant.owner.let { id -> id is ModuleComponentIdentifier && id.module == "kotlin-stdlib-common" } + val resolvedStdlib = lazyCommonMainCompileDependencies.allResolvedDependencies.filter { dependencyResult -> + dependencyResult.resolvedVariant.owner.let { id -> id is ModuleComponentIdentifier && id.module == "kotlin-stdlib" } } - if (resolvedStdlibCommon.isEmpty()) fail("Expected kotlin-stdlib-common in resolved dependencies") - resolvedStdlibCommon.forEach { dependencyResult -> + if (resolvedStdlib.isEmpty()) fail("Expected kotlin-stdlib in resolved dependencies") + resolvedStdlib.forEach { dependencyResult -> val artifacts = lazyCommonMainCompileDependencies.getArtifacts(dependencyResult) if (artifacts.isEmpty()) fail("Expected some artifacts resolved for $dependencyResult") artifacts.forEach { artifact -> - assertEquals(artifact.file.name, "kotlin-stdlib-common-${project.kotlinToolingVersion}.jar") + assertEquals(artifact.file.name, "kotlin-stdlib-${project.kotlinToolingVersion}-all.jar") } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/ResolvableMetadataConfigurationTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/ResolvableMetadataConfigurationTest.kt index d613026ec2b..3067e14adb8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/ResolvableMetadataConfigurationTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/ResolvableMetadataConfigurationTest.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinBinaryDependency import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport +import org.jetbrains.kotlin.gradle.plugin.kotlinToolingVersion import org.jetbrains.kotlin.gradle.plugin.mpp.resolvableMetadataConfiguration import org.jetbrains.kotlin.gradle.plugin.sources.internal import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin @@ -29,9 +30,15 @@ class ResolvableMetadataConfigurationTest { @Test fun `test - resolves consistent in project`() { val project = buildProject { - enableDefaultStdlibDependency(false) + enableDefaultStdlibDependency(true) enableDependencyVerification(false) applyMultiplatformPlugin() + + repositories.mavenLocal { repo -> + repo.mavenContent { content -> + content.includeGroupByRegex(".*jetbrains.*") + } + } repositories.mavenCentralCacheRedirector() } @@ -78,7 +85,7 @@ class ResolvableMetadataConfigurationTest { project.kotlinIdeMultiplatformImport.resolveDependencies("commonMain") .assertMatches( binaryCoordinates(Regex("com.squareup.okio:okio(-.*)?:.*:3.3.0")), - binaryCoordinates(Regex("org.jetbrains.kotlin.*")) + binaryCoordinates("org.jetbrains.kotlin:kotlin-stdlib:commonMain:${project.kotlinToolingVersion}") ) /* Check IDE resolution for nativeMain */ diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/tcs/IdeSourcesAndDocumentationResolutionTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/tcs/IdeSourcesAndDocumentationResolutionTest.kt index 5df2eae68b6..ec537d44ead 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/tcs/IdeSourcesAndDocumentationResolutionTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/tcs/IdeSourcesAndDocumentationResolutionTest.kt @@ -83,7 +83,7 @@ class IdeSourcesAndDocumentationResolutionTest { binaryCoordinates("com.arkivanov.essenty:lifecycle:commonMain:0.4.2"), binaryCoordinates("com.arkivanov.essenty:instance-keeper:commonMain:0.4.2"), IdeNativeStdlibDependencyResolver.nativeStdlibCoordinates(project), - binaryCoordinates(Regex(".*stdlib-common:.*")) /* KT-56278 */ + binaryCoordinates(Regex(".*stdlib.*")) /* KT-56278 */ ) val resolvedDependencies = resolveDependencySources(nativeMain) diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/tcs/IdeStdlibResolutionTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/tcs/IdeStdlibResolutionTest.kt index 8dd5f230883..595ff59652d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/tcs/IdeStdlibResolutionTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/dependencyResolutionTests/tcs/IdeStdlibResolutionTest.kt @@ -11,6 +11,8 @@ import org.gradle.api.Project import org.jetbrains.kotlin.compilerRunner.konanVersion import org.jetbrains.kotlin.gradle.dependencyResolutionTests.mavenCentralCacheRedirector import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension +import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformSourceSetConventionsImpl.commonMain +import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformSourceSetConventionsImpl.dependencies import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches @@ -238,6 +240,26 @@ class IdeStdlibResolutionTest { project.assertStdlibDependencies(kotlin.sourceSets.getByName("commonTest"), emptyList()) } + @Test + fun `test stdlib-common notation is substituted with stdlib`() { + val project = createProjectWithDefaultStdlibEnabled() + val kotlin = project.multiplatformExtension + kotlin.jvm() + kotlin.linuxX64() + kotlin.linuxArm64() + + kotlin.sourceSets.commonMain.dependencies { + implementation(kotlin("stdlib-common")) + } + + project.evaluate() + + project.assertStdlibDependencies( + kotlin.sourceSets.commonMain.get(), + listOf(stdlibCommonMainDependency(kotlin)) + ) + } + private fun Project.assertStdlibDependencies(sourceSet: KotlinSourceSet, dependencies: Any) { project.kotlinIdeMultiplatformImport.resolveDependencies(sourceSet) .filterIsInstance()