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
|
* Configures common pom configuration parameters
|
||||||
*/
|
*/
|
||||||
fun Project.configureCommonPublicationSettingsForGradle() {
|
fun Project.configureCommonPublicationSettingsForGradle(
|
||||||
|
signingRequired: Boolean
|
||||||
|
) {
|
||||||
plugins.withId("maven-publish") {
|
plugins.withId("maven-publish") {
|
||||||
configureDefaultPublishing()
|
configureDefaultPublishing(signingRequired)
|
||||||
|
|
||||||
extensions.configure<PublishingExtension> {
|
extensions.configure<PublishingExtension> {
|
||||||
publications
|
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.
|
* 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 com.gradle.publish.PluginBundleExtension
|
||||||
|
import plugins.signLibraryPublication
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm")
|
kotlin("jvm")
|
||||||
@@ -12,7 +13,11 @@ plugins {
|
|||||||
id("com.gradle.plugin-publish")
|
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()
|
configureKotlinCompileTasksGradleCompatibility()
|
||||||
extensions.extraProperties["kotlin.stdlib.default.dependency"] = "false"
|
extensions.extraProperties["kotlin.stdlib.default.dependency"] = "false"
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import plugins.KotlinBuildPublishingPlugin.Companion.DEFAULT_MAIN_PUBLICATION_NAME
|
import plugins.KotlinBuildPublishingPlugin.Companion.DEFAULT_MAIN_PUBLICATION_NAME
|
||||||
|
import plugins.signLibraryPublication
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
`java-library`
|
`java-library`
|
||||||
@@ -12,7 +13,7 @@ plugins {
|
|||||||
`maven-publish`
|
`maven-publish`
|
||||||
}
|
}
|
||||||
|
|
||||||
configureCommonPublicationSettingsForGradle()
|
configureCommonPublicationSettingsForGradle(signLibraryPublication)
|
||||||
configureKotlinCompileTasksGradleCompatibility()
|
configureKotlinCompileTasksGradleCompatibility()
|
||||||
extensions.extraProperties["kotlin.stdlib.default.dependency"] = "false"
|
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> {
|
configure<PublishingExtension> {
|
||||||
repositories {
|
repositories {
|
||||||
maven {
|
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) {
|
if (signingRequired) {
|
||||||
apply<SigningPlugin>()
|
apply<SigningPlugin>()
|
||||||
configureSigning()
|
configureSigning()
|
||||||
|
|||||||
@@ -1715,12 +1715,6 @@
|
|||||||
<sha256 value="19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe" origin="Generated by Gradle"/>
|
<sha256 value="19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe" origin="Generated by Gradle"/>
|
||||||
</artifact>
|
</artifact>
|
||||||
</component>
|
</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">
|
<component group="com.google.code.gson" name="gson" version="2.8.9">
|
||||||
<artifact name="gson-2.8.9.jar">
|
<artifact name="gson-2.8.9.jar">
|
||||||
<md5 value="e67627f67e03301092dc7de0a2d7cef8" origin="Generated by Gradle"/>
|
<md5 value="e67627f67e03301092dc7de0a2d7cef8" origin="Generated by Gradle"/>
|
||||||
@@ -9201,12 +9195,6 @@
|
|||||||
<sha256 value="938a2d08fe54050d7610b944d8ddc3a09355710d9e6be0aac838dbc04e9a2825" origin="Generated by Gradle"/>
|
<sha256 value="938a2d08fe54050d7610b944d8ddc3a09355710d9e6be0aac838dbc04e9a2825" origin="Generated by Gradle"/>
|
||||||
</artifact>
|
</artifact>
|
||||||
</component>
|
</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">
|
<component group="org.robolectric" name="android-all" version="4.4_r1-robolectric-r2">
|
||||||
<artifact name="android-all-4.4_r1-robolectric-r2.jar">
|
<artifact name="android-all-4.4_r1-robolectric-r2.jar">
|
||||||
<md5 value="3098240c179f04b929699e8f2d4b11cf" origin="Generated by Gradle"/>
|
<md5 value="3098240c179f04b929699e8f2d4b11cf" origin="Generated by Gradle"/>
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ dependencies {
|
|||||||
compileOnly project(':dependencies:intellij-core')
|
compileOnly project(':dependencies:intellij-core')
|
||||||
}
|
}
|
||||||
|
|
||||||
GradleCommonKt.configureCommonPublicationSettingsForGradle(project)
|
GradleCommonKt.configureCommonPublicationSettingsForGradle(project, false)
|
||||||
GradleCommonKt.configureKotlinCompileTasksGradleCompatibility(project)
|
GradleCommonKt.configureKotlinCompileTasksGradleCompatibility(project)
|
||||||
GradleCommonKt.excludeGradleCommonDependencies(project, sourceSets.main)
|
GradleCommonKt.excludeGradleCommonDependencies(project, sourceSets.main)
|
||||||
TasksKt.optInToExperimentalCompilerApi(project)
|
TasksKt.optInToExperimentalCompilerApi(project)
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import plugins.signLibraryPublication
|
||||||
|
|
||||||
description = "Runtime library for the Atomicfu compiler plugin"
|
description = "Runtime library for the Atomicfu compiler plugin"
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
@@ -26,7 +28,7 @@ kotlin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
configureCommonPublicationSettingsForGradle()
|
configureCommonPublicationSettingsForGradle(signLibraryPublication)
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
publications {
|
publications {
|
||||||
|
|||||||
Reference in New Issue
Block a user