diff --git a/buildSrc/src/main/kotlin/com/toolkit/plugin/android/ToolkitPublishPlugin.kt b/buildSrc/src/main/kotlin/com/toolkit/plugin/android/ToolkitPublishPlugin.kt index 30b221e..cedf2be 100644 --- a/buildSrc/src/main/kotlin/com/toolkit/plugin/android/ToolkitPublishPlugin.kt +++ b/buildSrc/src/main/kotlin/com/toolkit/plugin/android/ToolkitPublishPlugin.kt @@ -64,7 +64,7 @@ internal class ToolkitPublishPlugin : Plugin { artifact.extension = "jar" } } - pub.pom { target.configurePom(it) } + pub.pom { target.configurePom(it, true) } } } } diff --git a/buildSrc/src/main/kotlin/com/toolkit/plugin/multiplatform/ToolkitPublishPlugin.kt b/buildSrc/src/main/kotlin/com/toolkit/plugin/multiplatform/ToolkitPublishPlugin.kt index 3a76a9a..1a8daa5 100644 --- a/buildSrc/src/main/kotlin/com/toolkit/plugin/multiplatform/ToolkitPublishPlugin.kt +++ b/buildSrc/src/main/kotlin/com/toolkit/plugin/multiplatform/ToolkitPublishPlugin.kt @@ -1,6 +1,7 @@ package com.toolkit.plugin.multiplatform import com.toolkit.plugin.util.attachAllTasksIntoAssembleRelease +import com.toolkit.plugin.util.configurePom import com.toolkit.plugin.util.createLocalPathRepository import com.toolkit.plugin.util.createSonatypeRepository import com.toolkit.plugin.util.missing @@ -16,9 +17,13 @@ import org.gradle.api.publish.maven.MavenPublication import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven import org.gradle.api.publish.maven.tasks.PublishToMavenRepository import org.gradle.plugins.signing.Sign +import org.jetbrains.kotlin.konan.file.File internal class ToolkitPublishPlugin : Plugin { + private val Project.javadoc: String? + get() = "$projectDir/build/libs/$name-release-javadoc.jar".takeIf { File(it).exists } + override fun apply(target: Project) { target.requireAny( "toolkit-android-library", @@ -52,6 +57,14 @@ internal class ToolkitPublishPlugin : Plugin { pub.groupId = target.properties["GROUP"] as String pub.artifactId = "${target.name}$suffix" pub.version = target.versionName + + target.javadoc?.let { file -> + pub.artifact(file) { artifact -> + artifact.classifier = "javadoc" + artifact.extension = "jar" + } + } + pub.pom { target.configurePom(it, false) } } } } diff --git a/buildSrc/src/main/kotlin/com/toolkit/plugin/util/_publish.kt b/buildSrc/src/main/kotlin/com/toolkit/plugin/util/_publish.kt index 5f7672d..f7d35c7 100644 --- a/buildSrc/src/main/kotlin/com/toolkit/plugin/util/_publish.kt +++ b/buildSrc/src/main/kotlin/com/toolkit/plugin/util/_publish.kt @@ -27,7 +27,7 @@ internal fun RepositoryHandler.createSonatypeRepository(project: Project) { } } -internal fun Project.configurePom(pom: MavenPom) { +internal fun Project.configurePom(pom: MavenPom, addDependencies: Boolean) { // Main Configuration if (pom.name.orNull.isNullOrBlank() && hasProperty("NAME")) { pom.name.set(properties["NAME"] as String) @@ -69,6 +69,7 @@ internal fun Project.configurePom(pom: MavenPom) { ci.url.set("${pom.url.orNull}/actions") } + if (addDependencies.not()) return val mapOfConfigurations = mapOf( "runtime" to "implementation", "compile" to "api",