[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.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<String>
coreLibrariesVersion: Provider<String>,
) = all { configuration ->
configuration.withDependencies { dependencySet ->
dependencySet
@@ -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")
}
}
}
@@ -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 */
@@ -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)
@@ -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<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) {
project.kotlinIdeMultiplatformImport.resolveDependencies(sourceSet)
.filterIsInstance<IdeaKotlinResolvedBinaryDependency>()