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()
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user