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()
-12
View File
@@ -1715,12 +1715,6 @@
<sha256 value="19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.code.gson" name="gson" version="2.8.5">
<artifact name="gson-2.8.5.jar">
<md5 value="089104cb90d8b4e1aa00b1f5faef0742" origin="Generated by Gradle"/>
<sha256 value="233a0149fc365c9f6edbd683cfe266b19bdc773be98eabdaf6b3c924b48e7d81" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.code.gson" name="gson" version="2.8.9">
<artifact name="gson-2.8.9.jar">
<md5 value="e67627f67e03301092dc7de0a2d7cef8" origin="Generated by Gradle"/>
@@ -9201,12 +9195,6 @@
<sha256 value="938a2d08fe54050d7610b944d8ddc3a09355710d9e6be0aac838dbc04e9a2825" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.robolectric" name="android-all" version="4.4_r1-robolectric-1">
<artifact name="android-all-4.4_r1-robolectric-1.jar">
<md5 value="1e478f10e107d1dddad09d32508f2ec9" origin="Generated by Gradle"/>
<sha256 value="d41d3ffa6c89398c9e8c3c3659de405994151c040b4a898fc4c885c226732e28" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.robolectric" name="android-all" version="4.4_r1-robolectric-r2">
<artifact name="android-all-4.4_r1-robolectric-r2.jar">
<md5 value="3098240c179f04b929699e8f2d4b11cf" origin="Generated by Gradle"/>
@@ -35,7 +35,7 @@ dependencies {
compileOnly project(':dependencies:intellij-core')
}
GradleCommonKt.configureCommonPublicationSettingsForGradle(project)
GradleCommonKt.configureCommonPublicationSettingsForGradle(project, false)
GradleCommonKt.configureKotlinCompileTasksGradleCompatibility(project)
GradleCommonKt.excludeGradleCommonDependencies(project, sourceSets.main)
TasksKt.optInToExperimentalCompilerApi(project)
@@ -1,3 +1,5 @@
import plugins.signLibraryPublication
description = "Runtime library for the Atomicfu compiler plugin"
plugins {
@@ -26,7 +28,7 @@ kotlin {
}
}
configureCommonPublicationSettingsForGradle()
configureCommonPublicationSettingsForGradle(signLibraryPublication)
publishing {
publications {