diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesPublicationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesPublicationIT.kt index f9aef568231..a64139366e3 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesPublicationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesPublicationIT.kt @@ -77,6 +77,22 @@ class MultiplatformResourcesPublicationIT : KGPBaseTest() { ) } + @DisplayName("Multiplatform resources publication for Native target") + @GradleAndroidTest + fun testNativeTargetResourcesPublication( + gradleVersion: GradleVersion, + androidVersion: String, + providedJdk: JdkVersions.ProvidedJdk, + ) { + testEmbeddedResources( + gradleVersion, + androidVersion, + providedJdk, + publicationTask = ":publishLinuxX64PublicationToMavenRepository", + publishedArchive = "build/repo/test/publication-linuxx64/1.0/publication-linuxx64-1.0-kotlin_resources.kotlin_resources.zip", + referenceName = "linuxX64", + ) + } private fun testEmbeddedResources( gradleVersion: GradleVersion, androidVersion: String, diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/projectDependency/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/projectDependency/build.gradle.kts index 0d504d9ba71..5c77730e2c1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/projectDependency/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/projectDependency/build.gradle.kts @@ -35,6 +35,7 @@ kotlin { } }, jvm(), + linuxX64(), ).forEach { target -> val fontsFilter = if (target is KotlinAndroidTarget) listOf("fonts/*") else emptyList() val relativeResourcePlacement = provider { File("embed/subproject") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/assets/assets/embed/published/fonts/font b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/assets/assets/embed/publication/fonts/font similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/assets/assets/embed/published/fonts/font rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/assets/assets/embed/publication/fonts/font diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/published/inCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/publication/inCommon similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/published/inCommon rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/publication/inCommon diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/published/inner/innerInCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/publication/inner/innerInCommon similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/published/inner/innerInCommon rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/publication/inner/innerInCommon diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/published/inner/platformOverride b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/publication/inner/platformOverride similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/published/inner/platformOverride rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/publication/inner/platformOverride diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/published/onlyInAndroidMain b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/publication/onlyInAndroidMain similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/published/onlyInAndroidMain rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/android/reference/resources/embed/publication/onlyInAndroidMain diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/build.gradle.kts index 5ca25d07381..285e13c7002 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/build.gradle.kts @@ -35,9 +35,12 @@ kotlin { } }, jvm(), + linuxX64(), + iosArm64(), + iosSimulatorArm64(), ).forEach { target -> val fontsFilter = if (target is KotlinAndroidTarget) listOf("fonts/*") else emptyList() - val relativeResourcePlacement = provider { File("embed/published") } + val relativeResourcePlacement = provider { File("embed/${project.name}") } val sourceSetPathProvider: (KotlinSourceSet) -> (Provider) = { sourceSet -> project.provider { project.file("src/${sourceSet.name}/multiplatformResources") } } @@ -76,7 +79,7 @@ publishing { } android { - namespace = "test.publication" + namespace = "test.${project.name}" compileSdk = 34 defaultConfig { minSdk = 24 diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidFonts/assets/embed/published/fonts/font b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidFonts/assets/embed/publication/fonts/font similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidFonts/assets/embed/published/fonts/font rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidFonts/assets/embed/publication/fonts/font diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/published/inCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/publication/inCommon similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/published/inCommon rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/publication/inCommon diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/published/inner/innerInCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/publication/inner/innerInCommon similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/published/inner/innerInCommon rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/publication/inner/innerInCommon diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/published/inner/platformOverride b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/publication/inner/platformOverride similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/published/inner/platformOverride rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/publication/inner/platformOverride diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/published/onlyInAndroidMain b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/publication/onlyInAndroidMain similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/published/onlyInAndroidMain rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/androidMain/embed/publication/onlyInAndroidMain diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/published/inCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/publication/inCommon similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/published/inCommon rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/publication/inCommon diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/published/inner/innerInCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/publication/inner/innerInCommon similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/published/inner/innerInCommon rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/publication/inner/innerInCommon diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/published/inner/platformOverride b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/publication/inner/platformOverride similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/published/inner/platformOverride rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/publication/inner/platformOverride diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/published/onlyInJvm b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/publication/onlyInJvm similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/published/onlyInJvm rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/jvm/embed/publication/onlyInJvm diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/inCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/inCommon new file mode 100644 index 00000000000..7cbcb793c05 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/inCommon @@ -0,0 +1 @@ +inCommon \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/inner/innerInCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/inner/innerInCommon new file mode 100644 index 00000000000..17f24c06452 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/inner/innerInCommon @@ -0,0 +1 @@ +innerInCommon \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/inner/platformOverride b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/inner/platformOverride new file mode 100644 index 00000000000..0f94db7a779 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/inner/platformOverride @@ -0,0 +1 @@ +linuxX64Override \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/onlyInLinuxX64 b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/onlyInLinuxX64 new file mode 100644 index 00000000000..881c2658365 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/linuxX64/embed/publication/onlyInLinuxX64 @@ -0,0 +1 @@ +onlyInLinuxX64 \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/linuxX64Main/multiplatformResources/inner/platformOverride b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/linuxX64Main/multiplatformResources/inner/platformOverride new file mode 100644 index 00000000000..0f94db7a779 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/linuxX64Main/multiplatformResources/inner/platformOverride @@ -0,0 +1 @@ +linuxX64Override \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/linuxX64Main/multiplatformResources/onlyInLinuxX64 b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/linuxX64Main/multiplatformResources/onlyInLinuxX64 new file mode 100644 index 00000000000..881c2658365 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/linuxX64Main/multiplatformResources/onlyInLinuxX64 @@ -0,0 +1 @@ +onlyInLinuxX64 \ No newline at end of file