diff options
author | sebastian.sellmair <sebastian.sellmair@jetbrains.com> | 2020-07-14 10:06:04 +0200 |
---|---|---|
committer | Sebastian Sellmair <34319766+sellmair@users.noreply.github.com> | 2020-07-14 11:41:31 +0200 |
commit | 7ff409fdf621932590dbf0118fff2c73dc76b951 (patch) | |
tree | fb120475a8d5ba3860eebaffaca44eb98d0a4bb9 | |
parent | 7a8bdee752c25a9cd09f5859b76463bf44c747db (diff) | |
download | dokka-7ff409fdf621932590dbf0118fff2c73dc76b951.tar.gz dokka-7ff409fdf621932590dbf0118fff2c73dc76b951.tar.bz2 dokka-7ff409fdf621932590dbf0118fff2c73dc76b951.zip |
Adapt changes from "Simplify publishing configuration and enable sourcejars"
-rw-r--r-- | build.gradle.kts | 2 | ||||
-rw-r--r-- | buildSrc/src/main/kotlin/org/jetbrains/BintrayPublishing.kt | 29 | ||||
-rw-r--r-- | buildSrc/src/main/kotlin/org/jetbrains/PublicationConfiguration.kt | 34 | ||||
-rw-r--r-- | buildSrc/src/main/kotlin/org/jetbrains/publication.kt | 58 | ||||
-rw-r--r-- | core/build.gradle.kts | 6 | ||||
-rw-r--r-- | core/dependencies/build.gradle.kts | 8 | ||||
-rw-r--r-- | kotlin-analysis/build.gradle.kts | 6 | ||||
-rw-r--r-- | kotlin-analysis/dependencies/build.gradle.kts | 8 | ||||
-rw-r--r-- | plugins/base/build.gradle.kts | 6 | ||||
-rw-r--r-- | plugins/gfm/build.gradle.kts | 6 | ||||
-rw-r--r-- | plugins/javadoc/build.gradle.kts | 6 | ||||
-rw-r--r-- | plugins/jekyll/build.gradle.kts | 6 | ||||
-rw-r--r-- | plugins/kotlin-as-java/build.gradle.kts | 6 | ||||
-rw-r--r-- | plugins/mathjax/build.gradle.kts | 6 | ||||
-rw-r--r-- | runners/cli/build.gradle.kts | 8 | ||||
-rw-r--r-- | runners/gradle-plugin/build.gradle.kts | 4 | ||||
-rw-r--r-- | runners/maven-plugin/build.gradle.kts | 11 | ||||
-rw-r--r-- | testApi/build.gradle.kts | 6 |
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" +} |