diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt index c8ca0e780ad..c7ff7fcb943 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.gradle.mpp import org.gradle.api.logging.configuration.WarningMode +import org.gradle.internal.os.OperatingSystem import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.KOTLIN_VERSION import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinSourceDependency @@ -457,4 +458,24 @@ class MppCompositeBuildIT : KGPBaseTest() { build("projects") } } + + @GradleTest + fun `KT-65315 composite project with resources in metadata klib`(gradleVersion: GradleVersion) { + val producer = project("mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer", gradleVersion) + + project( + "mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer", + gradleVersion, + ) { + settingsGradleKts.toFile().replaceText("", producer.projectPath.toUri().path) + + build(":consumerA:assemble") { + assertTasksExecuted(":consumerA:compileCommonMainKotlinMetadata") + assertTasksExecuted(":consumerA:compileNativeMainKotlinMetadata") + if (OperatingSystem.current().isMacOsX) { + assertTasksExecuted(":consumerA:compileAppleMainKotlinMetadata") + } + } + } + } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/build.gradle.kts new file mode 100644 index 00000000000..27817a8a7c5 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/build.gradle.kts @@ -0,0 +1,14 @@ +plugins { + kotlin("multiplatform") +} + +kotlin { + jvm() + linuxX64() + iosX64() + iosArm64() + + sourceSets.commonMain.get().dependencies { + implementation("org.jetbrains.sample:producerA:1.0.0-SNAPSHOT") + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/src/appleMain/kotlin/AppleMain.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/src/appleMain/kotlin/AppleMain.kt new file mode 100644 index 00000000000..787eb0395f3 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/src/appleMain/kotlin/AppleMain.kt @@ -0,0 +1,9 @@ +package app + +import lib.commonMain + +fun appleMain() { + commonMain() + nativeMain() + app() +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/src/commonMain/kotlin/App.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/src/commonMain/kotlin/App.kt new file mode 100644 index 00000000000..4e0b105f289 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/src/commonMain/kotlin/App.kt @@ -0,0 +1,3 @@ +package app + +fun app() = lib.commonMain() \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/src/nativeMain/kotlin/NativeMain.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/src/nativeMain/kotlin/NativeMain.kt new file mode 100644 index 00000000000..c54d1a02b33 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/consumerA/src/nativeMain/kotlin/NativeMain.kt @@ -0,0 +1,8 @@ +package app + +import lib.commonMain + +fun nativeMain() { + app() + commonMain() +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/settings.gradle.kts new file mode 100644 index 00000000000..51772eedeb2 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/consumer/settings.gradle.kts @@ -0,0 +1,14 @@ +dependencyResolutionManagement { + repositories { + mavenLocal() + mavenCentral() + } +} + +include(":consumerA") + +includeBuild("") { + dependencySubstitution { + substitute(module("org.jetbrains.sample:producerA")).using(project(":producerA")) + } +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/producerA/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/producerA/build.gradle.kts new file mode 100644 index 00000000000..ee18f6d90a3 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/producerA/build.gradle.kts @@ -0,0 +1,15 @@ +plugins { + kotlin("multiplatform") + `maven-publish` +} + + +group = "org.jetbrains.sample" +version = "1.0.0-SNAPSHOT" + +kotlin { + jvm() + iosX64() + iosArm64() + linuxX64() +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/producerA/src/commonMain/kotlin/lib/CommonMain.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/producerA/src/commonMain/kotlin/lib/CommonMain.kt new file mode 100644 index 00000000000..96715d55ac7 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/producerA/src/commonMain/kotlin/lib/CommonMain.kt @@ -0,0 +1,3 @@ +package lib + +fun commonMain() = ":)" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/producerA/src/commonMain/resources/toot-toot.txt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/producerA/src/commonMain/resources/toot-toot.txt new file mode 100644 index 00000000000..823366d9576 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/producerA/src/commonMain/resources/toot-toot.txt @@ -0,0 +1 @@ +💀🎺 \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/settings.gradle.kts new file mode 100644 index 00000000000..dd20205742e --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/kt65315_with_resources_in_metadata_klib/producer/settings.gradle.kts @@ -0,0 +1,8 @@ +dependencyResolutionManagement { + repositories { + mavenLocal() + mavenCentral() + } +} + +include(":producerA")