aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsebastian.sellmair <sebastian.sellmair@jetbrains.com>2020-07-14 10:06:04 +0200
committerSebastian Sellmair <34319766+sellmair@users.noreply.github.com>2020-07-14 11:41:31 +0200
commit7ff409fdf621932590dbf0118fff2c73dc76b951 (patch)
treefb120475a8d5ba3860eebaffaca44eb98d0a4bb9
parent7a8bdee752c25a9cd09f5859b76463bf44c747db (diff)
downloaddokka-7ff409fdf621932590dbf0118fff2c73dc76b951.tar.gz
dokka-7ff409fdf621932590dbf0118fff2c73dc76b951.tar.bz2
dokka-7ff409fdf621932590dbf0118fff2c73dc76b951.zip
Adapt changes from "Simplify publishing configuration and enable sourcejars"
-rw-r--r--build.gradle.kts2
-rw-r--r--buildSrc/src/main/kotlin/org/jetbrains/BintrayPublishing.kt29
-rw-r--r--buildSrc/src/main/kotlin/org/jetbrains/PublicationConfiguration.kt34
-rw-r--r--buildSrc/src/main/kotlin/org/jetbrains/publication.kt58
-rw-r--r--core/build.gradle.kts6
-rw-r--r--core/dependencies/build.gradle.kts8
-rw-r--r--kotlin-analysis/build.gradle.kts6
-rw-r--r--kotlin-analysis/dependencies/build.gradle.kts8
-rw-r--r--plugins/base/build.gradle.kts6
-rw-r--r--plugins/gfm/build.gradle.kts6
-rw-r--r--plugins/javadoc/build.gradle.kts6
-rw-r--r--plugins/jekyll/build.gradle.kts6
-rw-r--r--plugins/kotlin-as-java/build.gradle.kts6
-rw-r--r--plugins/mathjax/build.gradle.kts6
-rw-r--r--runners/cli/build.gradle.kts8
-rw-r--r--runners/gradle-plugin/build.gradle.kts4
-rw-r--r--runners/maven-plugin/build.gradle.kts11
-rw-r--r--testApi/build.gradle.kts6
18 files changed, 123 insertions, 93 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index 7cc0394f..c6335a31 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -42,6 +42,8 @@ subprojects {
// Gradle metadata
java {
+ @Suppress("UnstableApiUsage")
+ withSourcesJar()
targetCompatibility = JavaVersion.VERSION_1_8
}
}
diff --git a/buildSrc/src/main/kotlin/org/jetbrains/BintrayPublishing.kt b/buildSrc/src/main/kotlin/org/jetbrains/BintrayPublishing.kt
deleted file mode 100644
index 4180c445..00000000
--- a/buildSrc/src/main/kotlin/org/jetbrains/BintrayPublishing.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.jetbrains
-
-import com.jfrog.bintray.gradle.BintrayExtension
-import org.gradle.api.Project
-import org.gradle.kotlin.dsl.provideDelegate
-
-fun Project.configureBintrayPublication(vararg publications: String) {
- val dokka_version: String by this
- val dokka_publication_channel: String by this
- extensions.configure<BintrayExtension>("bintray") {
- user = System.getenv("BINTRAY_USER")
- key = System.getenv("BINTRAY_KEY")
- dryRun = System.getenv("BINTRAY_DRY_RUN") == "true" ||
- project.properties["bintray_dry_run"] == "true"
- pkg = PackageConfig().apply {
- repo = dokka_publication_channel
- name = "dokka"
- userOrg = "kotlin"
- desc = "Dokka, the Kotlin documentation tool"
- vcsUrl = "https://github.com/kotlin/dokka.git"
- setLicenses("Apache-2.0")
- version = VersionConfig().apply {
- name = dokka_version
- }
- }
- setPublications(*publications)
- }
-}
-
diff --git a/buildSrc/src/main/kotlin/org/jetbrains/PublicationConfiguration.kt b/buildSrc/src/main/kotlin/org/jetbrains/PublicationConfiguration.kt
deleted file mode 100644
index 5dbb8fb9..00000000
--- a/buildSrc/src/main/kotlin/org/jetbrains/PublicationConfiguration.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.jetbrains
-
-import com.github.jengelman.gradle.plugins.shadow.ShadowExtension
-import org.gradle.api.Project
-import org.gradle.api.plugins.JavaPlugin
-import org.gradle.api.plugins.JavaPluginExtension
-import org.gradle.api.publish.PublishingExtension
-import org.gradle.api.publish.maven.MavenPublication
-import org.gradle.kotlin.dsl.configure
-import org.gradle.kotlin.dsl.create
-import org.gradle.kotlin.dsl.get
-
-fun Project.configurePublication(artifactId: String, useShadow: Boolean = false) {
- configure<PublishingExtension> {
- publications {
- create<MavenPublication>("maven") {
- this.artifactId = artifactId
- if (useShadow) {
- val shadow = extensions.getByType(ShadowExtension::class.java)
- shadow.component(this)
- } else {
- from(components["java"])
- }
- }
- }
- }
- configureBintrayPublication("maven")
- plugins.all {
- if (this is JavaPlugin) {
- val extension = extensions.getByType(JavaPluginExtension::class.java)
- @Suppress("UnstableApiUsage") extension.withSourcesJar()
- }
- }
-}
diff --git a/buildSrc/src/main/kotlin/org/jetbrains/publication.kt b/buildSrc/src/main/kotlin/org/jetbrains/publication.kt
new file mode 100644
index 00000000..47fb23f2
--- /dev/null
+++ b/buildSrc/src/main/kotlin/org/jetbrains/publication.kt
@@ -0,0 +1,58 @@
+package org.jetbrains
+
+import com.github.jengelman.gradle.plugins.shadow.ShadowExtension
+import com.jfrog.bintray.gradle.BintrayExtension
+import org.gradle.api.Project
+import org.gradle.api.publish.PublishingExtension
+import org.gradle.api.publish.maven.MavenPublication
+import org.gradle.kotlin.dsl.*
+
+class DokkaPublicationBuilder {
+ enum class Component {
+ Java, Shadow
+ }
+ var artifactId: String? = null
+ var component: Component = Component.Java
+}
+
+fun Project.registerDokkaArtifactPublication(publicationName: String, configure: DokkaPublicationBuilder.() -> Unit) {
+ configure<PublishingExtension> {
+ publications {
+ register<MavenPublication>(publicationName) {
+ val builder = DokkaPublicationBuilder().apply(configure)
+ this.artifactId = builder.artifactId
+ when (builder.component) {
+ DokkaPublicationBuilder.Component.Java -> from(components["java"])
+ DokkaPublicationBuilder.Component.Shadow ->
+ extensions.getByType(ShadowExtension::class.java).component(this)
+ }
+ }
+ }
+ }
+
+ configureBintrayPublication(publicationName)
+}
+
+fun Project.configureBintrayPublication(vararg publications: String) {
+ val dokka_version: String by this
+ val dokka_publication_channel: String by this
+ extensions.configure<BintrayExtension>("bintray") {
+ user = System.getenv("BINTRAY_USER")
+ key = System.getenv("BINTRAY_KEY")
+ dryRun = System.getenv("BINTRAY_DRY_RUN") == "true" ||
+ project.properties["bintray_dry_run"] == "true"
+ pkg = PackageConfig().apply {
+ repo = dokka_publication_channel
+ name = "dokka"
+ userOrg = "kotlin"
+ desc = "Dokka, the Kotlin documentation tool"
+ vcsUrl = "https://github.com/kotlin/dokka.git"
+ setLicenses("Apache-2.0")
+ version = VersionConfig().apply {
+ name = dokka_version
+ }
+ }
+ setPublications(*publications)
+ }
+}
+
diff --git a/core/build.gradle.kts b/core/build.gradle.kts
index 030db5c6..b52d3729 100644
--- a/core/build.gradle.kts
+++ b/core/build.gradle.kts
@@ -1,4 +1,4 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
plugins {
`maven-publish`
@@ -29,4 +29,6 @@ tasks {
}
}
-configurePublication("dokka-core")
+registerDokkaArtifactPublication("dokkaCore") {
+ artifactId = "dokka-core"
+}
diff --git a/core/dependencies/build.gradle.kts b/core/dependencies/build.gradle.kts
index 082861b6..a074958d 100644
--- a/core/dependencies/build.gradle.kts
+++ b/core/dependencies/build.gradle.kts
@@ -1,4 +1,5 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.DokkaPublicationBuilder.Component.Shadow
+import org.jetbrains.registerDokkaArtifactPublication
plugins {
id("com.github.johnrengelman.shadow")
@@ -28,4 +29,7 @@ tasks {
}
}
-configurePublication("dokka-core-dependencies", useShadow = true)
+registerDokkaArtifactPublication("dokkaCoreDependencies") {
+ artifactId = "dokka-core-dependencies"
+ component = Shadow
+}
diff --git a/kotlin-analysis/build.gradle.kts b/kotlin-analysis/build.gradle.kts
index 5acc1f06..f87811e1 100644
--- a/kotlin-analysis/build.gradle.kts
+++ b/kotlin-analysis/build.gradle.kts
@@ -1,4 +1,4 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
plugins {
id("com.github.johnrengelman.shadow")
@@ -15,4 +15,6 @@ dependencies {
api(project(":kotlin-analysis:dependencies", configuration = "shadow"))
}
-configurePublication("dokka-analysis")
+registerDokkaArtifactPublication("dokkaAnalysis") {
+ artifactId = "dokka-analysis"
+}
diff --git a/kotlin-analysis/dependencies/build.gradle.kts b/kotlin-analysis/dependencies/build.gradle.kts
index 1fd13630..4aba6614 100644
--- a/kotlin-analysis/dependencies/build.gradle.kts
+++ b/kotlin-analysis/dependencies/build.gradle.kts
@@ -1,4 +1,5 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.DokkaPublicationBuilder.Component.Shadow
+import org.jetbrains.registerDokkaArtifactPublication
plugins {
id("com.github.johnrengelman.shadow")
@@ -53,4 +54,7 @@ tasks {
}
}
-configurePublication("kotlin-analysis-dependencies", useShadow = true)
+registerDokkaArtifactPublication("kotlinAnalysisDependencies"){
+ artifactId = "kotlin-analysis-dependencies"
+ component = Shadow
+}
diff --git a/plugins/base/build.gradle.kts b/plugins/base/build.gradle.kts
index 61e2ef01..0fc7f55c 100644
--- a/plugins/base/build.gradle.kts
+++ b/plugins/base/build.gradle.kts
@@ -1,4 +1,4 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
plugins {
id("com.jfrog.bintray")
@@ -30,4 +30,6 @@ tasks {
}
}
-configurePublication("dokka-base")
+registerDokkaArtifactPublication("dokkaBase") {
+ artifactId = "dokka-base"
+}
diff --git a/plugins/gfm/build.gradle.kts b/plugins/gfm/build.gradle.kts
index 73958046..3f69043d 100644
--- a/plugins/gfm/build.gradle.kts
+++ b/plugins/gfm/build.gradle.kts
@@ -1,4 +1,4 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
dependencies {
implementation(project(":plugins:base"))
@@ -6,4 +6,6 @@ dependencies {
testImplementation(project(":plugins:base:test-utils"))
}
-configurePublication("gfm-plugin")
+registerDokkaArtifactPublication("gfmPlugin") {
+ artifactId = "gfm-plugin"
+}
diff --git a/plugins/javadoc/build.gradle.kts b/plugins/javadoc/build.gradle.kts
index 5846ee62..5e2e5600 100644
--- a/plugins/javadoc/build.gradle.kts
+++ b/plugins/javadoc/build.gradle.kts
@@ -1,4 +1,4 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
dependencies {
implementation("com.soywiz.korlibs.korte:korte-jvm:1.10.3")
@@ -10,4 +10,6 @@ dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version")
}
-configurePublication("javadoc-plugin")
+registerDokkaArtifactPublication("javadocPlugin") {
+ artifactId = "javadoc-plugin"
+}
diff --git a/plugins/jekyll/build.gradle.kts b/plugins/jekyll/build.gradle.kts
index 0d1e38d6..64cf9800 100644
--- a/plugins/jekyll/build.gradle.kts
+++ b/plugins/jekyll/build.gradle.kts
@@ -1,8 +1,10 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
dependencies {
implementation(project(":plugins:base"))
implementation(project(":plugins:gfm"))
}
-configurePublication("jekyll-plugin")
+registerDokkaArtifactPublication("jekyllPlugin") {
+ artifactId = "jekyll-plugin"
+}
diff --git a/plugins/kotlin-as-java/build.gradle.kts b/plugins/kotlin-as-java/build.gradle.kts
index 27e90f84..eda6114f 100644
--- a/plugins/kotlin-as-java/build.gradle.kts
+++ b/plugins/kotlin-as-java/build.gradle.kts
@@ -1,4 +1,4 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
dependencies {
implementation(project(":plugins:base"))
@@ -7,4 +7,6 @@ dependencies {
testImplementation(project(":test-tools"))
}
-configurePublication("kotlin-as-java-plugin")
+registerDokkaArtifactPublication("kotlinAsJavaPlugin") {
+ artifactId = "kotlin-as-java-plugin"
+}
diff --git a/plugins/mathjax/build.gradle.kts b/plugins/mathjax/build.gradle.kts
index ea4cdff0..142e7dc4 100644
--- a/plugins/mathjax/build.gradle.kts
+++ b/plugins/mathjax/build.gradle.kts
@@ -1,3 +1,5 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
-configurePublication("mathjax-plugin")
+registerDokkaArtifactPublication("mathjaxPlugin") {
+ artifactId = "mathjax-plugin"
+}
diff --git a/runners/cli/build.gradle.kts b/runners/cli/build.gradle.kts
index 19a49346..4ad34192 100644
--- a/runners/cli/build.gradle.kts
+++ b/runners/cli/build.gradle.kts
@@ -1,4 +1,5 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.DokkaPublicationBuilder.Component.Shadow
+import org.jetbrains.registerDokkaArtifactPublication
plugins {
id("com.github.johnrengelman.shadow")
@@ -26,5 +27,8 @@ tasks {
}
}
-configurePublication("dokka-cli", useShadow = true)
+registerDokkaArtifactPublication("dokkaCli"){
+ artifactId = "dokka-cli"
+ component = Shadow
+}
diff --git a/runners/gradle-plugin/build.gradle.kts b/runners/gradle-plugin/build.gradle.kts
index 00e3602e..0222f5e0 100644
--- a/runners/gradle-plugin/build.gradle.kts
+++ b/runners/gradle-plugin/build.gradle.kts
@@ -47,15 +47,13 @@ gradlePlugin {
publishing {
publications {
- maybeCreate<MavenPublication>("pluginMaven").apply {
+ register<MavenPublication>("pluginMaven") {
artifactId = "dokka-gradle-plugin"
- artifact(sourceJar.get())
}
register<MavenPublication>("dokkaGradlePluginForIntegrationTests") {
artifactId = "dokka-gradle-plugin"
from(components["java"])
- artifact(sourceJar.get())
version = "for-integration-tests-SNAPSHOT"
}
}
diff --git a/runners/maven-plugin/build.gradle.kts b/runners/maven-plugin/build.gradle.kts
index 83d9f5af..fbd2b48a 100644
--- a/runners/maven-plugin/build.gradle.kts
+++ b/runners/maven-plugin/build.gradle.kts
@@ -1,6 +1,6 @@
import org.jetbrains.CrossPlatformExec
import org.jetbrains.SetupMaven
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
val setupMaven by tasks.register<SetupMaven>("setupMaven")
@@ -45,7 +45,10 @@ val generatePom by tasks.registering(Copy::class) {
line.replace("<version>dokka_version</version>", "<version>$dokka_version</version>")
}
filter { line ->
- line.replace("<version>maven-plugin-plugin</version>", "<version>${setupMaven.mavenPluginToolsVersion}</version>")
+ line.replace(
+ "<version>maven-plugin-plugin</version>",
+ "<version>${setupMaven.mavenPluginToolsVersion}</version>"
+ )
}
}
}
@@ -90,4 +93,6 @@ tasks.named<Jar>("jar") {
}
}
-configurePublication("dokka-maven-plugin")
+registerDokkaArtifactPublication("dokkaMavenPlugin") {
+ artifactId = "dokka-maven-plugin"
+}
diff --git a/testApi/build.gradle.kts b/testApi/build.gradle.kts
index 1576dd99..fc882f44 100644
--- a/testApi/build.gradle.kts
+++ b/testApi/build.gradle.kts
@@ -1,4 +1,4 @@
-import org.jetbrains.configurePublication
+import org.jetbrains.registerDokkaArtifactPublication
plugins {
`maven-publish`
@@ -13,4 +13,6 @@ dependencies {
implementation(kotlin("reflect"))
}
-configurePublication("dokka-test-api")
+registerDokkaArtifactPublication("dokkaTestApi") {
+ artifactId = "dokka-test-api"
+}