Skip to content

Commit

Permalink
fix sources jar for Kotlin/JVM not being included in Gradle metadata (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrielittner committed Apr 27, 2024
1 parent f8cf17a commit db6263e
Showing 1 changed file with 4 additions and 15 deletions.
19 changes: 4 additions & 15 deletions plugin/src/main/kotlin/com/vanniktech/maven/publish/Platform.kt
Expand Up @@ -338,7 +338,7 @@ data class KotlinJvm @JvmOverloads constructor(
// https://youtrack.jetbrains.com/issue/KT-41582
project.gradlePublishing.publications.create(PUBLICATION_NAME, MavenPublication::class.java) {
it.from(project.components.getByName("java"))
it.withKotlinSourcesJar(sourcesJar, project)
it.withJavaSourcesJar(sourcesJar, project)
it.withJavadocJar { project.javadocJarTask(javadocJar) }
}

Expand Down Expand Up @@ -469,28 +469,17 @@ sealed class JavadocJar {

private const val PUBLICATION_NAME = "maven"

private fun MavenPublication.withKotlinSourcesJar(enabled: Boolean, project: Project) {
val task = if (enabled) {
project.tasks.named("kotlinSourcesJar")
} else {
project.emptySourcesJar()
}
artifact(task)
}

private fun MavenPublication.withJavaSourcesJar(enabled: Boolean, project: Project) {
if (enabled) {
project.extensions.getByType(JavaPluginExtension::class.java).withSourcesJar()
} else {
val task = project.emptySourcesJar()
val task = project.tasks.register("emptySourcesJar", Jar::class.java) {
it.archiveClassifier.set("sources")
}
artifact(task)
}
}

private fun Project.emptySourcesJar(): TaskProvider<*> = tasks.register("emptySourcesJar", Jar::class.java) {
it.archiveClassifier.set("sources")
}

private fun MavenPublication.withJavadocJar(factory: () -> TaskProvider<*>?) {
val task = factory()
if (task != null) {
Expand Down

0 comments on commit db6263e

Please sign in to comment.