@@ -21,6 +21,7 @@ import org.gradle.api.artifacts.repositories.MavenArtifactRepository
2121import org.gradle.api.attributes.DocsType
2222import org.gradle.api.logging.Logging
2323import org.gradle.api.plugins.BasePlugin
24+ import org.gradle.api.plugins.JavaPluginExtension
2425import org.gradle.api.provider.Property
2526import org.gradle.api.provider.Provider
2627import org.gradle.api.publish.PublicationContainer
@@ -394,10 +395,12 @@ class LibraryPlugin : Plugin<Project> {
394395 setConventions()
395396 setKmpConventions(project)
396397 }
398+
397399 // Kotlin/JVM
398- extensions.findByType<KotlinJvmProjectExtension >()?.apply {
399- setConventions()
400- setJvmConventions()
400+ extensions.findByType<KotlinJvmProjectExtension >()?.setConventions()
401+ // Java Libraries
402+ extensions.findByType<JavaPluginExtension >()?.apply {
403+ withSourcesJar()
401404 }
402405
403406 // Dokka
@@ -524,25 +527,23 @@ class LibraryPlugin : Plugin<Project> {
524527 return
525528 }
526529
527- project.afterEvaluate {
528- logger.info(" Setting up default publication" )
529-
530- publications {
531- maybeCreate(
532- extension.mavenPublishing.jvmPublicationName.get(),
533- MavenPublication ::class
534- ).apply {
535- pom.setConventions(project, extension)
536-
537- extension.mavenPublishing.jvmPublicationComponent.ifPresentOrElse(
538- ifPresent = { from(it) },
539- ifNotPresent = { from(components[" java" ]) }
540- )
530+ logger.info(" Setting up default JVM publication for ${project.name} " )
541531
542- // Add Javadocs as an artifact
543- artifact(tasks[computeJavadocTaskName(isHtml = false )])
544- artifact(tasks[computeJavadocTaskName(isHtml = true )])
545- }
532+ publications {
533+ maybeCreate(
534+ extension.mavenPublishing.jvmPublicationName.get(),
535+ MavenPublication ::class
536+ ).apply {
537+ pom.setConventions(project, extension)
538+
539+ extension.mavenPublishing.jvmPublicationComponent.ifPresentOrElse(
540+ ifPresent = { from(it) },
541+ ifNotPresent = { from(project.components[" java" ]) }
542+ )
543+
544+ // Add Javadocs as an artifact
545+ artifact(project.tasks[computeJavadocTaskName(isHtml = false )])
546+ artifact(project.tasks[computeJavadocTaskName(isHtml = true )])
546547 }
547548 }
548549 }
@@ -589,12 +590,6 @@ class LibraryPlugin : Plugin<Project> {
589590 explicitApi()
590591 }
591592
592- private fun KotlinJvmProjectExtension.setJvmConventions () {
593- target {
594- withSourcesJar()
595- }
596- }
597-
598593 private fun DokkaExtension.setConventions (
599594 project : Project ,
600595 extension : LibraryDocsExtension
0 commit comments