[Gradle] Use framework name instead of baseName as the attribute value
^KT-58316 Verification Pending
This commit is contained in:
committed by
Space Team
parent
a1385103bf
commit
ddb27f2b26
+9
-8
@@ -460,13 +460,14 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
":iosApp:dependencyInsight", "--configuration", configuration, "--dependency", "iosLib"
|
||||
)
|
||||
|
||||
fun BuildResult.assertContainsVariant(variantName: String) {
|
||||
assertOutputContains(
|
||||
if (gradleVersion >= GradleVersion.version(TestVersions.Gradle.G_7_5))
|
||||
"Variant $variantName"
|
||||
else "variant \"$variantName\""
|
||||
)
|
||||
}
|
||||
fun variant(variantName: String) =
|
||||
if (gradleVersion >= GradleVersion.version(TestVersions.Gradle.G_7_5)) {
|
||||
"Variant $variantName"
|
||||
} else {
|
||||
"variant \"$variantName\""
|
||||
}
|
||||
|
||||
fun BuildResult.assertContainsVariant(variantName: String) = assertOutputContains(variant(variantName))
|
||||
|
||||
subProject("iosApp").buildGradleKts.replaceText("<applePluginTestVersion>", "\"${TestVersions.AppleGradlePlugin.V222_0_21}\"")
|
||||
|
||||
@@ -484,7 +485,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
}
|
||||
|
||||
build(*dependencyInsight("iosAppIosX64ReleaseImplementation0"), "-PmultipleFrameworks") {
|
||||
assertContainsVariant("mainStaticReleaseFrameworkIos")
|
||||
assertOutputDoesNotContain(variant("mainStaticReleaseFrameworkIos"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+24
-1
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.gradle.testbase.*
|
||||
import org.jetbrains.kotlin.gradle.util.*
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.condition.OS
|
||||
import java.util.*
|
||||
import kotlin.io.path.absolutePathString
|
||||
import kotlin.io.path.appendText
|
||||
import kotlin.test.assertTrue
|
||||
@@ -227,4 +226,28 @@ class FatFrameworkIT : KGPBaseTest() {
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("Test that the configurations exposing fat frameworks with the same baseName are resolved normally")
|
||||
@GradleTestVersions(minVersion = TestVersions.Gradle.G_8_0, maxVersion = TestVersions.Gradle.G_8_1)
|
||||
@GradleTest
|
||||
fun testExposingFrameworksWithSameBaseName(gradleVersion: GradleVersion) {
|
||||
nativeProject("native-fat-framework/smoke", gradleVersion) {
|
||||
buildGradleKts.addKotlinBlock("""
|
||||
iosX64 {
|
||||
binaries {
|
||||
framework("A") { baseName = "smoke" }
|
||||
framework("B") { baseName = "smoke" }
|
||||
}
|
||||
}
|
||||
iosArm64 {
|
||||
binaries {
|
||||
framework("A") { baseName = "smoke" }
|
||||
framework("B") { baseName = "smoke" }
|
||||
}
|
||||
}
|
||||
""".trimIndent())
|
||||
|
||||
testResolveAllConfigurations()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -13,7 +13,7 @@ apple {
|
||||
dependencies {
|
||||
implementation(project(":iosLib")) {
|
||||
if (properties.containsKey("multipleFrameworks")) {
|
||||
attributes.attribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute, "mainStatic")
|
||||
attributes.attribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute, "mainStaticDebugFramework")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ private fun Configuration.applyBinaryFrameworkGroupAttributes(
|
||||
attribute(KotlinPlatformType.attribute, KotlinPlatformType.native)
|
||||
attribute(project.artifactTypeAttribute, KotlinNativeTargetConfigurator.NativeArtifactFormat.FRAMEWORK)
|
||||
attribute(KotlinNativeTarget.kotlinNativeBuildTypeAttribute, frameworkDescription.buildType.name)
|
||||
attribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute, frameworkDescription.baseName)
|
||||
attribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute, frameworkDescription.frameworkName)
|
||||
attribute(Framework.frameworkTargets, targets.map { it.konanTarget.name }.toSet())
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -96,8 +96,8 @@ class FatFrameworksTest {
|
||||
project.evaluate()
|
||||
val barFat = project.assertConfigurationExists("barDebugFrameworkIosFat")
|
||||
val fooFat = project.assertConfigurationExists("fooDebugFrameworkIosFat")
|
||||
assertEquals("f1", fooFat.attributes.getAttribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute))
|
||||
assertEquals("f2", barFat.attributes.getAttribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute))
|
||||
assertEquals("fooDebugFramework", fooFat.attributes.getAttribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute))
|
||||
assertEquals("barDebugFramework", barFat.attributes.getAttribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute))
|
||||
}
|
||||
|
||||
private fun testFatFrameworkGrouping(
|
||||
|
||||
Reference in New Issue
Block a user