From 7001425367a4db79c6fcdf6b8d0c53508ba50aa7 Mon Sep 17 00:00:00 2001 From: Aurimas Liutikas Date: Mon, 13 Jul 2020 18:33:28 -0700 Subject: Simplify publishing configuration and enable sourcejars --- .../org/jetbrains/PublicationConfiguration.kt | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 buildSrc/src/main/kotlin/org/jetbrains/PublicationConfiguration.kt (limited to 'buildSrc/src') diff --git a/buildSrc/src/main/kotlin/org/jetbrains/PublicationConfiguration.kt b/buildSrc/src/main/kotlin/org/jetbrains/PublicationConfiguration.kt new file mode 100644 index 00000000..5dbb8fb9 --- /dev/null +++ b/buildSrc/src/main/kotlin/org/jetbrains/PublicationConfiguration.kt @@ -0,0 +1,34 @@ +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 { + publications { + create("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() + } + } +} -- cgit