[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"
|
":iosApp:dependencyInsight", "--configuration", configuration, "--dependency", "iosLib"
|
||||||
)
|
)
|
||||||
|
|
||||||
fun BuildResult.assertContainsVariant(variantName: String) {
|
fun variant(variantName: String) =
|
||||||
assertOutputContains(
|
if (gradleVersion >= GradleVersion.version(TestVersions.Gradle.G_7_5)) {
|
||||||
if (gradleVersion >= GradleVersion.version(TestVersions.Gradle.G_7_5))
|
"Variant $variantName"
|
||||||
"Variant $variantName"
|
} else {
|
||||||
else "variant \"$variantName\""
|
"variant \"$variantName\""
|
||||||
)
|
}
|
||||||
}
|
|
||||||
|
fun BuildResult.assertContainsVariant(variantName: String) = assertOutputContains(variant(variantName))
|
||||||
|
|
||||||
subProject("iosApp").buildGradleKts.replaceText("<applePluginTestVersion>", "\"${TestVersions.AppleGradlePlugin.V222_0_21}\"")
|
subProject("iosApp").buildGradleKts.replaceText("<applePluginTestVersion>", "\"${TestVersions.AppleGradlePlugin.V222_0_21}\"")
|
||||||
|
|
||||||
@@ -484,7 +485,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
build(*dependencyInsight("iosAppIosX64ReleaseImplementation0"), "-PmultipleFrameworks") {
|
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.jetbrains.kotlin.gradle.util.*
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.condition.OS
|
import org.junit.jupiter.api.condition.OS
|
||||||
import java.util.*
|
|
||||||
import kotlin.io.path.absolutePathString
|
import kotlin.io.path.absolutePathString
|
||||||
import kotlin.io.path.appendText
|
import kotlin.io.path.appendText
|
||||||
import kotlin.test.assertTrue
|
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 {
|
dependencies {
|
||||||
implementation(project(":iosLib")) {
|
implementation(project(":iosLib")) {
|
||||||
if (properties.containsKey("multipleFrameworks")) {
|
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(KotlinPlatformType.attribute, KotlinPlatformType.native)
|
||||||
attribute(project.artifactTypeAttribute, KotlinNativeTargetConfigurator.NativeArtifactFormat.FRAMEWORK)
|
attribute(project.artifactTypeAttribute, KotlinNativeTargetConfigurator.NativeArtifactFormat.FRAMEWORK)
|
||||||
attribute(KotlinNativeTarget.kotlinNativeBuildTypeAttribute, frameworkDescription.buildType.name)
|
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())
|
attribute(Framework.frameworkTargets, targets.map { it.konanTarget.name }.toSet())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -96,8 +96,8 @@ class FatFrameworksTest {
|
|||||||
project.evaluate()
|
project.evaluate()
|
||||||
val barFat = project.assertConfigurationExists("barDebugFrameworkIosFat")
|
val barFat = project.assertConfigurationExists("barDebugFrameworkIosFat")
|
||||||
val fooFat = project.assertConfigurationExists("fooDebugFrameworkIosFat")
|
val fooFat = project.assertConfigurationExists("fooDebugFrameworkIosFat")
|
||||||
assertEquals("f1", fooFat.attributes.getAttribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute))
|
assertEquals("fooDebugFramework", fooFat.attributes.getAttribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute))
|
||||||
assertEquals("f2", barFat.attributes.getAttribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute))
|
assertEquals("barDebugFramework", barFat.attributes.getAttribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun testFatFrameworkGrouping(
|
private fun testFatFrameworkGrouping(
|
||||||
|
|||||||
Reference in New Issue
Block a user