[Gradle] Update functionalTests to reflect kotlin-stdlib-common pointing to kotlin-stdlib

^KT-60901 Verification Pending
This commit is contained in:
Sebastian Sellmair
2023-08-09 17:45:50 +02:00
committed by Space Team
parent 59b29dc2b9
commit 73483b7a77
5 changed files with 39 additions and 12 deletions
@@ -48,9 +48,7 @@ internal fun customizeKotlinDependencies(project: Project) {
project.configureKotlinDomApiDefaultDependency(topLevelExtension, coreLibrariesVersion) project.configureKotlinDomApiDefaultDependency(topLevelExtension, coreLibrariesVersion)
} }
project.configurations.configureDefaultVersionsResolutionStrategy( project.configurations.configureDefaultVersionsResolutionStrategy(coreLibrariesVersion)
coreLibrariesVersion
)
if (propertiesProvider.stdlibJdkVariantsVersionAlignment) { if (propertiesProvider.stdlibJdkVariantsVersionAlignment) {
project.configurations.configureStdlibVersionAlignment() project.configurations.configureStdlibVersionAlignment()
@@ -60,7 +58,7 @@ internal fun customizeKotlinDependencies(project: Project) {
} }
private fun ConfigurationContainer.configureDefaultVersionsResolutionStrategy( private fun ConfigurationContainer.configureDefaultVersionsResolutionStrategy(
coreLibrariesVersion: Provider<String> coreLibrariesVersion: Provider<String>,
) = all { configuration -> ) = all { configuration ->
configuration.withDependencies { dependencySet -> configuration.withDependencies { dependencySet ->
dependencySet dependencySet
@@ -73,16 +73,16 @@ class LazyResolvedConfigurationTest {
/* Check stdlib-common dependency on commonMainCompileDependencies */ /* Check stdlib-common dependency on commonMainCompileDependencies */
run { run {
val resolvedStdlibCommon = lazyCommonMainCompileDependencies.allResolvedDependencies.filter { dependencyResult -> val resolvedStdlib = lazyCommonMainCompileDependencies.allResolvedDependencies.filter { dependencyResult ->
dependencyResult.resolvedVariant.owner.let { id -> id is ModuleComponentIdentifier && id.module == "kotlin-stdlib-common" } dependencyResult.resolvedVariant.owner.let { id -> id is ModuleComponentIdentifier && id.module == "kotlin-stdlib" }
} }
if (resolvedStdlibCommon.isEmpty()) fail("Expected kotlin-stdlib-common in resolved dependencies") if (resolvedStdlib.isEmpty()) fail("Expected kotlin-stdlib in resolved dependencies")
resolvedStdlibCommon.forEach { dependencyResult -> resolvedStdlib.forEach { dependencyResult ->
val artifacts = lazyCommonMainCompileDependencies.getArtifacts(dependencyResult) val artifacts = lazyCommonMainCompileDependencies.getArtifacts(dependencyResult)
if (artifacts.isEmpty()) fail("Expected some artifacts resolved for $dependencyResult") if (artifacts.isEmpty()) fail("Expected some artifacts resolved for $dependencyResult")
artifacts.forEach { artifact -> artifacts.forEach { artifact ->
assertEquals(artifact.file.name, "kotlin-stdlib-common-${project.kotlinToolingVersion}.jar") assertEquals(artifact.file.name, "kotlin-stdlib-${project.kotlinToolingVersion}-all.jar")
} }
} }
} }
@@ -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.assertMatches
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates
import org.jetbrains.kotlin.gradle.plugin.ide.kotlinIdeMultiplatformImport 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.mpp.resolvableMetadataConfiguration
import org.jetbrains.kotlin.gradle.plugin.sources.internal import org.jetbrains.kotlin.gradle.plugin.sources.internal
import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin import org.jetbrains.kotlin.gradle.util.applyMultiplatformPlugin
@@ -29,9 +30,15 @@ class ResolvableMetadataConfigurationTest {
@Test @Test
fun `test - resolves consistent in project`() { fun `test - resolves consistent in project`() {
val project = buildProject { val project = buildProject {
enableDefaultStdlibDependency(false) enableDefaultStdlibDependency(true)
enableDependencyVerification(false) enableDependencyVerification(false)
applyMultiplatformPlugin() applyMultiplatformPlugin()
repositories.mavenLocal { repo ->
repo.mavenContent { content ->
content.includeGroupByRegex(".*jetbrains.*")
}
}
repositories.mavenCentralCacheRedirector() repositories.mavenCentralCacheRedirector()
} }
@@ -78,7 +85,7 @@ class ResolvableMetadataConfigurationTest {
project.kotlinIdeMultiplatformImport.resolveDependencies("commonMain") project.kotlinIdeMultiplatformImport.resolveDependencies("commonMain")
.assertMatches( .assertMatches(
binaryCoordinates(Regex("com.squareup.okio:okio(-.*)?:.*:3.3.0")), 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 */ /* Check IDE resolution for nativeMain */
@@ -83,7 +83,7 @@ class IdeSourcesAndDocumentationResolutionTest {
binaryCoordinates("com.arkivanov.essenty:lifecycle:commonMain:0.4.2"), binaryCoordinates("com.arkivanov.essenty:lifecycle:commonMain:0.4.2"),
binaryCoordinates("com.arkivanov.essenty:instance-keeper:commonMain:0.4.2"), binaryCoordinates("com.arkivanov.essenty:instance-keeper:commonMain:0.4.2"),
IdeNativeStdlibDependencyResolver.nativeStdlibCoordinates(project), IdeNativeStdlibDependencyResolver.nativeStdlibCoordinates(project),
binaryCoordinates(Regex(".*stdlib-common:.*")) /* KT-56278 */ binaryCoordinates(Regex(".*stdlib.*")) /* KT-56278 */
) )
val resolvedDependencies = resolveDependencySources(nativeMain) val resolvedDependencies = resolveDependencySources(nativeMain)
@@ -11,6 +11,8 @@ import org.gradle.api.Project
import org.jetbrains.kotlin.compilerRunner.konanVersion import org.jetbrains.kotlin.compilerRunner.konanVersion
import org.jetbrains.kotlin.gradle.dependencyResolutionTests.mavenCentralCacheRedirector import org.jetbrains.kotlin.gradle.dependencyResolutionTests.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension 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.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency
import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches
@@ -238,6 +240,26 @@ class IdeStdlibResolutionTest {
project.assertStdlibDependencies(kotlin.sourceSets.getByName("commonTest"), emptyList<Any>()) project.assertStdlibDependencies(kotlin.sourceSets.getByName("commonTest"), emptyList<Any>())
} }
@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) { private fun Project.assertStdlibDependencies(sourceSet: KotlinSourceSet, dependencies: Any) {
project.kotlinIdeMultiplatformImport.resolveDependencies(sourceSet) project.kotlinIdeMultiplatformImport.resolveDependencies(sourceSet)
.filterIsInstance<IdeaKotlinResolvedBinaryDependency>() .filterIsInstance<IdeaKotlinResolvedBinaryDependency>()