Skip to content

Commit

Permalink
Rewrite Gradle plugin publication
Browse files Browse the repository at this point in the history
  • Loading branch information
kamildoleglo committed Feb 2, 2021
1 parent 1d74704 commit 4505bd2
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 19 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Expand Up @@ -5,7 +5,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") apply false
id("java")
id("org.jetbrains.dokka") version "1.4.10.2"
id("org.jetbrains.dokka") version "1.4.20"
}

val dokka_version: String by project
Expand Down
Expand Up @@ -4,7 +4,7 @@ package org.jetbrains

import org.gradle.api.Project

internal enum class DokkaPublicationChannel {
enum class DokkaPublicationChannel {
SpaceDokkaDev,
BintrayKotlinDev,
BintrayKotlinEap,
Expand Down Expand Up @@ -39,7 +39,7 @@ internal enum class DokkaPublicationChannel {
}
}

internal val Project.publicationChannels: Set<DokkaPublicationChannel>
val Project.publicationChannels: Set<DokkaPublicationChannel>
get() {
val publicationChannel = this.properties["dokka_publication_channel"]?.toString()
val publicationChannels = this.properties["dokka_publication_channels"]?.toString()
Expand Down
14 changes: 9 additions & 5 deletions buildSrc/src/main/kotlin/org/jetbrains/publication.kt
Expand Up @@ -152,7 +152,7 @@ private fun Project.configureSonatypePublication(vararg publications: String) {
}
}

private fun MavenPublication.configurePom(projectName: String) {
fun MavenPublication.configurePom(projectName: String) {
pom {
name.set(projectName)
description.set("Dokka is a documentation engine for Kotlin and Java, performing the same function as Javadoc for Java")
Expand Down Expand Up @@ -184,13 +184,17 @@ private fun MavenPublication.configurePom(projectName: String) {

@Suppress("UnstableApiUsage")
private fun Project.signPublicationsIfKeyPresent(vararg publications: String) {
val signingKeyId = System.getenv("SIGN_KEY_ID")
val signingKey = System.getenv("SIGN_KEY")
val signingKeyPassphrase = System.getenv("SIGN_KEY_PASSPHRASE")
val signingKeyId: String? = System.getenv("SIGN_KEY_ID")
val signingKey: String? = System.getenv("SIGN_KEY")
val signingKeyPassphrase: String? = System.getenv("SIGN_KEY_PASSPHRASE")

if (!signingKey.isNullOrBlank()) {
extensions.configure<SigningExtension>("signing") {
useInMemoryPgpKeys(signingKeyId, signingKey, signingKeyPassphrase)
if (signingKeyId?.isNotBlank() == true) {
useInMemoryPgpKeys(signingKeyId, signingKey, signingKeyPassphrase)
} else {
useInMemoryPgpKeys(signingKey, signingKeyPassphrase)
}
publications.forEach { publicationName ->
extensions.findByType(PublishingExtension::class)!!.publications.findByName(publicationName)?.let {
sign(it)
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Expand Up @@ -12,5 +12,5 @@ language_version=1.4
# Code style
kotlin.code.style=official
# Gradle settings
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g
org.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=2g
org.gradle.parallel=true
13 changes: 4 additions & 9 deletions runners/gradle-plugin/build.gradle.kts
Expand Up @@ -44,6 +44,7 @@ gradlePlugin {
description = "Dokka, the Kotlin documentation tool"
implementationClass = "org.jetbrains.dokka.gradle.DokkaPlugin"
version = dokkaVersion
isAutomatedPublishing = false // This will probably have to be fixed for Gradle Plugin Portal release
}
}
}
Expand All @@ -61,10 +62,6 @@ pluginBundle {

publishing {
publications {
register<MavenPublication>("pluginMaven") {
artifactId = "dokka-gradle-plugin"
}

register<MavenPublication>("dokkaGradlePluginForIntegrationTests") {
artifactId = "dokka-gradle-plugin"
from(components["java"])
Expand All @@ -77,8 +74,6 @@ tasks.withType<PublishToMavenRepository>().configureEach {
onlyIf { publication != publishing.publications["dokkaGradlePluginForIntegrationTests"] }
}

configureSpacePublicationIfNecessary("dokkaGradlePluginPluginMarkerMaven", "pluginMaven")
configureBintrayPublicationIfNecessary("dokkaGradlePluginPluginMarkerMaven", "pluginMaven")
configureSonatypePublicationIfNecessary("dokkaGradlePluginPluginMarkerMaven", "pluginMaven")
createDokkaPublishTaskIfNecessary()

registerDokkaArtifactPublication("dokkaGradleMavenPlugin") {
artifactId = "dokka-gradle-plugin"
}
1 change: 0 additions & 1 deletion runners/maven-plugin/src/main/kotlin/DokkaMojo.kt
Expand Up @@ -22,7 +22,6 @@ import org.jetbrains.dokka.*
import org.jetbrains.dokka.DokkaConfiguration.ExternalDocumentationLink
import java.io.File
import java.net.URL
import java.util.stream.Collectors

class SourceLinkMapItem {
@Parameter(name = "path", required = true)
Expand Down

0 comments on commit 4505bd2

Please sign in to comment.