diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 3fdc380734e..0c82be82e6a 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -26,6 +26,7 @@
+
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesConsumptionIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesConsumptionIT.kt
index 6a5fda8916f..2fff30ff093 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesConsumptionIT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesConsumptionIT.kt
@@ -74,6 +74,7 @@ class MultiplatformResourcesConsumptionIT : KGPBaseTest() {
"linuxX64",
"wasmJs",
"wasmWasi",
+ "js",
) + if (HostManager.hostIsMac) listOf("iosArm64") else emptyList()
resolvableTargets.forEach { target ->
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesDependencyIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesDependencyIT.kt
index b86e4d7a5c2..ae2bf01efb5 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesDependencyIT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/resources/MultiplatformResourcesDependencyIT.kt
@@ -49,10 +49,12 @@ class MultiplatformResourcesDependencyIT : KGPBaseTest() {
":compileKotlinLinuxX64",
":compileKotlinWasmJs",
":compileKotlinWasmWasi",
+ ":compileKotlinJs",
":project:compileKotlinJvm",
":project:compileKotlinLinuxX64",
":project:compileKotlinWasmJs",
":project:compileKotlinWasmWasi",
+ ":project:compileKotlinJs",
)
if (HostManager.host.family.isAppleFamily) {
assertTasksExecuted(
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 9786a581cd9..5722c9af4bd 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
@@ -129,6 +129,23 @@ class MultiplatformResourcesPublicationIT : KGPBaseTest() {
)
}
+ @DisplayName("Multiplatform resources publication for js target")
+ @GradleAndroidTest
+ fun testJsTargetResourcesPublication(
+ gradleVersion: GradleVersion,
+ androidVersion: String,
+ providedJdk: JdkVersions.ProvidedJdk,
+ ) {
+ testEmbeddedResources(
+ gradleVersion,
+ androidVersion,
+ providedJdk,
+ publicationTask = ":publishJsPublicationToMavenRepository",
+ publishedArchive = "build/repo/test/publication-js/1.0/publication-js-1.0-kotlin_resources.kotlin_resources.zip",
+ referenceName = "js",
+ )
+ }
+
@DisplayName("Multiplatform resources publication when a previously non-existent source set with resource is added")
@GradleAndroidTest
fun testNativeTargetResourcesPublicationWithNewSourceSet(
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 ef580d8bd38..41abb88aca7 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
@@ -38,6 +38,7 @@ kotlin {
linuxX64(),
wasmJs(),
wasmWasi(),
+ js(),
).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/consumption/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/build.gradle.kts
index 757d7dbc99a..3532eddd074 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/build.gradle.kts
@@ -22,6 +22,7 @@ kotlin {
iosSimulatorArm64(),
wasmJs(),
wasmWasi(),
+ js(),
).forEach { target ->
val assemblyTask = publication.resolveResources(target)
tasks.register("${target.disambiguationClassifier}ResolveResources") {
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/dependency/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/dependency/build.gradle.kts
index 62e6060f4ff..3b29f73de01 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/dependency/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/dependency/build.gradle.kts
@@ -32,6 +32,7 @@ kotlin {
iosArm64(),
wasmJs(),
wasmWasi(),
+ js(),
).forEach { target ->
val relativeResourcePlacement = provider { File("embed/${project.name}") }
val sourceSetPathProvider: (KotlinSourceSet) -> (Provider) = { sourceSet ->
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/dependency/src/jsMain/multiplatformResources/onlyInJs b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/dependency/src/jsMain/multiplatformResources/onlyInJs
new file mode 100644
index 00000000000..3c7d5d60405
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/dependency/src/jsMain/multiplatformResources/onlyInJs
@@ -0,0 +1 @@
+onlyInJs
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResources/inCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResources/inCommon
new file mode 100644
index 00000000000..7cbcb793c05
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResources/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/consumption/reference/js/embed/projectWithResources/onlyInJs b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResources/onlyInJs
new file mode 100644
index 00000000000..3c7d5d60405
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResources/onlyInJs
@@ -0,0 +1 @@
+onlyInJs
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResourcesTransitive/inCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResourcesTransitive/inCommon
new file mode 100644
index 00000000000..7cbcb793c05
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResourcesTransitive/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/consumption/reference/js/embed/projectWithResourcesTransitive/onlyInJs b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResourcesTransitive/onlyInJs
new file mode 100644
index 00000000000..3c7d5d60405
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/projectWithResourcesTransitive/onlyInJs
@@ -0,0 +1 @@
+onlyInJs
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResources/inCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResources/inCommon
new file mode 100644
index 00000000000..7cbcb793c05
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResources/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/consumption/reference/js/embed/publishedWithResources/onlyInJs b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResources/onlyInJs
new file mode 100644
index 00000000000..3c7d5d60405
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResources/onlyInJs
@@ -0,0 +1 @@
+onlyInJs
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResourcesTransitive/inCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResourcesTransitive/inCommon
new file mode 100644
index 00000000000..7cbcb793c05
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResourcesTransitive/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/consumption/reference/js/embed/publishedWithResourcesTransitive/onlyInJs b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResourcesTransitive/onlyInJs
new file mode 100644
index 00000000000..3c7d5d60405
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/consumption/reference/js/embed/publishedWithResourcesTransitive/onlyInJs
@@ -0,0 +1 @@
+onlyInJs
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/dependency/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/dependency/build.gradle.kts
index 008143c5297..ca308694d3c 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/dependency/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/dependency/build.gradle.kts
@@ -32,6 +32,7 @@ kotlin {
linuxX64()
wasmJs()
wasmWasi()
+ js()
iosArm64()
iosSimulatorArm64()
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 fbe42b02603..59851bca4cd 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
@@ -40,6 +40,7 @@ kotlin {
iosSimulatorArm64(),
wasmJs(),
wasmWasi(),
+ js(),
).forEach { target ->
val fontsFilter = if (target is KotlinAndroidTarget) listOf("fonts/*") else emptyList()
val relativeResourcePlacement = provider { File("embed/${project.name}") }
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/js/embed/publication/inCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/js/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/js/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/js/embed/publication/inner/innerInCommon b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/js/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/js/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/js/embed/publication/inner/platformOverride b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/js/embed/publication/inner/platformOverride
new file mode 100644
index 00000000000..aa601608497
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/js/embed/publication/inner/platformOverride
@@ -0,0 +1 @@
+jsOverride
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/js/embed/publication/onlyInJs b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/js/embed/publication/onlyInJs
new file mode 100644
index 00000000000..3c7d5d60405
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/reference/js/embed/publication/onlyInJs
@@ -0,0 +1 @@
+onlyInJs
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/jsMain/multiplatformResources/inner/platformOverride b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/jsMain/multiplatformResources/inner/platformOverride
new file mode 100644
index 00000000000..aa601608497
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/jsMain/multiplatformResources/inner/platformOverride
@@ -0,0 +1 @@
+jsOverride
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/jsMain/multiplatformResources/onlyInJs b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/jsMain/multiplatformResources/onlyInJs
new file mode 100644
index 00000000000..3c7d5d60405
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/multiplatformResources/publication/src/jsMain/multiplatformResources/onlyInJs
@@ -0,0 +1 @@
+onlyInJs
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinTargetVariantResourcesPublicationTests.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinTargetVariantResourcesPublicationTests.kt
index da46022e6ea..a666d3c9b84 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinTargetVariantResourcesPublicationTests.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinTargetVariantResourcesPublicationTests.kt
@@ -38,6 +38,7 @@ class KotlinTargetVariantResourcesPublicationTests {
{ linuxX64() },
{ wasmWasi() },
{ wasmJs() },
+ { js() },
)
)
}
@@ -52,6 +53,7 @@ class KotlinTargetVariantResourcesPublicationTests {
{ linuxX64() },
{ wasmWasi() },
{ wasmJs() },
+ { js() },
)
)
}
@@ -68,6 +70,7 @@ class KotlinTargetVariantResourcesPublicationTests {
{ linuxX64() },
{ wasmWasi() },
{ wasmJs() },
+ { js() },
)
)
}
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinTargetVariantResourcesResolutionTests.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinTargetVariantResourcesResolutionTests.kt
index 86b0b4aedb7..238d9534cf6 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinTargetVariantResourcesResolutionTests.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinTargetVariantResourcesResolutionTests.kt
@@ -81,10 +81,11 @@ class KotlinTargetVariantResourcesResolutionTests {
}
@Test
- fun `test direct dependency - for wasmJs and wasmWasi targets - when using artifact view`() {
+ fun `test direct dependency - for wasmJs, wasmWasi, js targets - when using artifact view`() {
listOf(
{ wasmJs() },
{ wasmWasi() },
+ { js() },
).forEach { target ->
testDirectDependencyOnResourcesProducer(
producerTarget = { target() },
@@ -141,6 +142,25 @@ class KotlinTargetVariantResourcesResolutionTests {
)
}
+ @Test
+ fun `test direct dependency - for js - when using resources configuration`() {
+ testDirectDependencyOnResourcesProducer(
+ producerTarget = { js() },
+ consumerTarget = { js() },
+ resolutionStrategy = KotlinTargetResourcesResolutionStrategy.ResourcesConfiguration,
+ filterResolvedFiles = {
+ it.filterNot {
+ it.path.contains("kotlin-stdlib-js") || it.path.contains("kotlin-dom-api-compat")
+ }.toSet()
+ },
+ expectedResult = { _, producer ->
+ hashSetOf(
+ producer.buildFile("kotlin-multiplatform-resources/zip-for-publication/js/producer.kotlin_resources.zip"),
+ )
+ },
+ )
+ }
+
@Test
fun `test transitive dependency - without resources in middle project - with configuration`() {
testTransitiveDependencyOnResourcesProducer(
@@ -198,6 +218,44 @@ class KotlinTargetVariantResourcesResolutionTests {
}
}
+ @Test
+ fun `test transitive dependency - without resources in middle project in js - with configuration`() {
+ dependencyScopesWithResources().forEach { dependencyScope ->
+ testTransitiveDependencyOnResourcesProducer(
+ targetProvider = { js() },
+ resolutionStrategy = KotlinTargetResourcesResolutionStrategy.VariantReselection,
+ dependencyScope = dependencyScope,
+ filterResolvedFiles = {
+ it.filterNot {
+ it.path.contains("kotlin-stdlib-js") || it.path.contains("kotlin-dom-api-compat")
+ }.toSet()
+ },
+ expectedResult = { _, _, producer ->
+ setOf(
+ producer.buildFile("kotlin-multiplatform-resources/zip-for-publication/js/producer.kotlin_resources.zip"),
+ )
+ }
+ )
+ }
+ }
+
+ @Test
+ fun `test transitive dependency - without resources in middle project in js - with artifact view`() {
+ dependencyScopesWithResources().forEach { dependencyScope ->
+ testTransitiveDependencyOnResourcesProducer(
+ targetProvider = { js() },
+ resolutionStrategy = KotlinTargetResourcesResolutionStrategy.VariantReselection,
+ dependencyScope = dependencyScope,
+ filterResolvedFiles = { it },
+ expectedResult = { _, _, producer ->
+ setOf(
+ producer.buildFile("kotlin-multiplatform-resources/zip-for-publication/js/producer.kotlin_resources.zip"),
+ )
+ }
+ )
+ }
+ }
+
@Test
fun `test transitive dependency - without resources in middle project - with artifact view`() {
testTransitiveDependencyOnResourcesProducer(
@@ -280,6 +338,7 @@ class KotlinTargetVariantResourcesResolutionTests {
val targetsToTest = listOf(
{ wasmJs() },
{ wasmWasi() },
+ { js() },
{ linuxX64() },
{ iosArm64() },
)
@@ -304,9 +363,6 @@ class KotlinTargetVariantResourcesResolutionTests {
return listOf(
{ this::implementation },
{ this::api },
- // What are these supposed to mean for resources?
- // { this::compileOnly }, ?
- // { this::runtimeOnly }, ?
)
}
@@ -537,7 +593,6 @@ class KotlinTargetVariantResourcesResolutionTests {
projectBuilder = projectBuilder,
preApplyCode = preApplyCode,
) {
- enableDependencyVerification(false)
enableDefaultStdlibDependency(true)
repositories.mavenLocal()
repositories.mavenCentralCacheRedirector()