Enable signing for publication into Gradle plugin portal

^KT-53172 Fixed
This commit is contained in:
Yahor Berdnikau
2022-07-14 18:52:49 +02:00
parent ef28967216
commit b28819a186
7 changed files with 23 additions and 22 deletions
+4 -2
View File
@@ -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()