Enable signing for publication into Gradle plugin portal
^KT-53172 Fixed
This commit is contained in:
@@ -54,9 +54,11 @@ enum class GradlePluginVariant(
|
||||
/**
|
||||
* Configures common pom configuration parameters
|
||||
*/
|
||||
fun Project.configureCommonPublicationSettingsForGradle() {
|
||||
fun Project.configureCommonPublicationSettingsForGradle(
|
||||
signingRequired: Boolean
|
||||
) {
|
||||
plugins.withId("maven-publish") {
|
||||
configureDefaultPublishing()
|
||||
configureDefaultPublishing(signingRequired)
|
||||
|
||||
extensions.configure<PublishingExtension> {
|
||||
publications
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
import com.gradle.publish.PluginBundleExtension
|
||||
import plugins.signLibraryPublication
|
||||
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
@@ -12,7 +13,11 @@ plugins {
|
||||
id("com.gradle.plugin-publish")
|
||||
}
|
||||
|
||||
configureCommonPublicationSettingsForGradle()
|
||||
// Enable signing for publications into Gradle Plugin Portal
|
||||
val signPublication = !version.toString().contains("-SNAPSHOT") &&
|
||||
(project.gradle.startParameter.taskNames.contains("publishPlugins") || signLibraryPublication)
|
||||
|
||||
configureCommonPublicationSettingsForGradle(signPublication)
|
||||
configureKotlinCompileTasksGradleCompatibility()
|
||||
extensions.extraProperties["kotlin.stdlib.default.dependency"] = "false"
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
*/
|
||||
|
||||
import plugins.KotlinBuildPublishingPlugin.Companion.DEFAULT_MAIN_PUBLICATION_NAME
|
||||
import plugins.signLibraryPublication
|
||||
|
||||
plugins {
|
||||
`java-library`
|
||||
@@ -12,7 +13,7 @@ plugins {
|
||||
`maven-publish`
|
||||
}
|
||||
|
||||
configureCommonPublicationSettingsForGradle()
|
||||
configureCommonPublicationSettingsForGradle(signLibraryPublication)
|
||||
configureKotlinCompileTasksGradleCompatibility()
|
||||
extensions.extraProperties["kotlin.stdlib.default.dependency"] = "false"
|
||||
|
||||
|
||||
@@ -129,8 +129,14 @@ fun MavenPublication.configureKotlinPomAttributes(project: Project, explicitDesc
|
||||
}
|
||||
}
|
||||
|
||||
val Project.signLibraryPublication: Boolean
|
||||
get() = project.providers.gradleProperty("signingRequired").forUseAtConfigurationTime().orNull?.toBoolean()
|
||||
?: project.providers.gradleProperty("isSonatypeRelease").forUseAtConfigurationTime().orNull?.toBoolean()
|
||||
?: false
|
||||
|
||||
fun Project.configureDefaultPublishing() {
|
||||
fun Project.configureDefaultPublishing(
|
||||
signingRequired: Boolean = signLibraryPublication
|
||||
) {
|
||||
configure<PublishingExtension> {
|
||||
repositories {
|
||||
maven {
|
||||
@@ -140,9 +146,6 @@ fun Project.configureDefaultPublishing() {
|
||||
}
|
||||
}
|
||||
|
||||
val signingRequired = project.providers.gradleProperty("signingRequired").forUseAtConfigurationTime().orNull?.toBoolean()
|
||||
?: project.providers.gradleProperty("isSonatypeRelease").forUseAtConfigurationTime().orNull?.toBoolean() ?: false
|
||||
|
||||
if (signingRequired) {
|
||||
apply<SigningPlugin>()
|
||||
configureSigning()
|
||||
|
||||
Reference in New Issue
Block a user