From 2a53273f4d0aca9d43d83b5e21225d26d7457ef0 Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Tue, 30 Aug 2022 01:47:52 +0200 Subject: [PATCH] [Gradle] Add tests for KT-53686 --- .../kotlin/gradle/native/XCFrameworkIT.kt | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/XCFrameworkIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/XCFrameworkIT.kt index ed8af5d5d39..76d497d45be 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/XCFrameworkIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/XCFrameworkIT.kt @@ -133,4 +133,39 @@ class XCFrameworkIT : BaseGradleIT() { } } } + + @Test + fun `assemble framework does nothing when no sources rather than fail`() { + with(transformProjectWithPluginsDsl("appleXCFramework")) { + projectDir.resolve("shared/src").deleteRecursively() + build(":shared:assembleXCFramework") { + assertSuccessful() + assertTasksSkipped( + ":shared:assembleSharedDebugXCFramework", + ":shared:assembleSharedReleaseXCFramework", + ) + } + } + } + + @Test + fun `check assemble framework handles dashes in its name correctly`() { + with(transformProjectWithPluginsDsl("appleXCFramework")) { + with(gradleBuildScript("shared")) { + var text = readText() + text = text.replace("baseName = \"shared\"", "baseName = \"sha-red\"") + text = text.replace("XCFramework()", "XCFramework(\"sha-red\")") + writeText(text) + } + + build(":shared:assembleSha-redXCFramework") { + assertSuccessful() + assertTasksExecuted( + ":shared:assembleSha-redDebugXCFramework", + ":shared:assembleSha-redReleaseXCFramework", + ) + assertNotContains("differs from inner frameworks name") + } + } + } } \ No newline at end of file