[Gradle] Include users attributes to host-specific metadata configuration

^KT-60134 Verification Pending
This commit is contained in:
Anton Lakotka
2023-07-05 13:08:01 +02:00
committed by Space Team
parent 24ff1c6285
commit a5250839fa
2 changed files with 33 additions and 0 deletions
@@ -68,6 +68,7 @@ private val KotlinCompilation<*>.allOwnedConfigurationsNames
runtimeOnlyConfigurationName,
compileDependencyConfigurationName,
runtimeDependencyConfigurationName,
internal.configurations.hostSpecificMetadataConfiguration?.name,
)
val implementationSpecificConfigurations = when (this) {
@@ -634,4 +634,36 @@ class ConfigurationsTest : MultiplatformExtensionTest() {
fail("Following configurations have the same attributes:\n$msg")
}
}
@Test
fun `user-defined attributes should be present in host-specific metadata dependencies configuration`() {
val attribute = Attribute.of("userAttribute", String::class.java)
val project = buildProjectWithMPP {
plugins.apply("maven-publish")
kotlin {
jvm()
iosX64 {
attributes { attribute(attribute, "foo") }
}
iosArm64 {
attributes { attribute(attribute, "bar") }
}
applyDefaultHierarchyTemplate()
}
}
project.evaluate()
val iosX64HostSpecificMetadataDependencies = project.configurations.getByName("iosX64CompilationDependenciesMetadata")
val iosX64MetadataElements = project.configurations.getByName("iosX64MetadataElements")
assertEquals("foo", iosX64HostSpecificMetadataDependencies.attributes.getAttribute(attribute))
assertEquals("foo", iosX64MetadataElements.attributes.getAttribute(attribute))
val iosArm64HostSpecificMetadataDependencies = project.configurations.getByName("iosArm64CompilationDependenciesMetadata")
val iosArm64MetadataElements = project.configurations.getByName("iosArm64MetadataElements")
assertEquals("bar", iosArm64HostSpecificMetadataDependencies.attributes.getAttribute(attribute))
assertEquals("bar", iosArm64MetadataElements.attributes.getAttribute(attribute))
}
}