Skip to content

Commit 0240988

Browse files
committed
Configure from and configurations for org.jetbrains.kotlin.multiplatform
1 parent 70cfa6f commit 0240988

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowJavaPlugin.kt

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import org.gradle.api.plugins.JavaPlugin
2424
import org.gradle.api.tasks.TaskContainer
2525
import org.gradle.api.tasks.TaskProvider
2626
import org.gradle.plugin.devel.plugins.JavaGradlePluginPlugin
27+
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
2728

2829
public abstract class ShadowJavaPlugin @Inject constructor(
2930
private val softwareComponentFactory: SoftwareComponentFactory,
@@ -52,8 +53,6 @@ public abstract class ShadowJavaPlugin @Inject constructor(
5253
task.manifest.attributes[classPathAttributeKey] = attrs.joinToString(" ").trim()
5354
}
5455
}
55-
task.from(sourceSets.named("main").map { it.output })
56-
task.configurations.convention(listOf(runtimeConfiguration))
5756
task.exclude(
5857
"META-INF/INDEX.LIST",
5958
"META-INF/*.SF",
@@ -63,6 +62,19 @@ public abstract class ShadowJavaPlugin @Inject constructor(
6362
"META-INF/versions/**/module-info.class",
6463
"module-info.class",
6564
)
65+
66+
if (plugins.hasPlugin("org.jetbrains.kotlin.multiplatform")) {
67+
val kmpExtension = extensions.getByType(KotlinMultiplatformExtension::class.java)
68+
val kotlinJvmMain = kmpExtension.jvm().compilations.named("main")
69+
70+
task.from(kotlinJvmMain.map { it.output.allOutputs })
71+
task.configurations.convention(
72+
provider { listOf(configurations.getByName(kotlinJvmMain.get().runtimeDependencyConfigurationName)) },
73+
)
74+
} else {
75+
task.from(sourceSets.named("main").map { it.output })
76+
task.configurations.convention(provider { listOf(runtimeConfiguration) })
77+
}
6678
}
6779
artifacts.add(configurations.shadow.name, taskProvider)
6880
}

0 commit comments

Comments
 (0)