Use optional in-memory signing
This commit is contained in:
parent
d8dc65da79
commit
c37ff35b4c
@ -3,13 +3,12 @@ plugins {
|
|||||||
`kotlin-dsl`
|
`kotlin-dsl`
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
signing
|
signing
|
||||||
id("de.marcphilipp.nexus-publish") version "0.4.0"
|
|
||||||
id("org.jetbrains.changelog") version "1.0.0"
|
id("org.jetbrains.changelog") version "1.0.0"
|
||||||
id("org.jetbrains.dokka") version "1.4.20"
|
id("org.jetbrains.dokka") version "1.4.20"
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "ru.mipt.npm"
|
group = "ru.mipt.npm"
|
||||||
version = "0.7.7"
|
version = "0.7.8"
|
||||||
|
|
||||||
description = "Build tools for DataForge and kscience projects"
|
description = "Build tools for DataForge and kscience projects"
|
||||||
|
|
||||||
@ -35,7 +34,6 @@ dependencies {
|
|||||||
implementation("org.jetbrains.kotlin:kotlin-serialization:$kotlinVersion")
|
implementation("org.jetbrains.kotlin:kotlin-serialization:$kotlinVersion")
|
||||||
implementation("org.jetbrains.kotlinx:atomicfu-gradle-plugin:0.15.1")
|
implementation("org.jetbrains.kotlinx:atomicfu-gradle-plugin:0.15.1")
|
||||||
implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.4.20")
|
implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.4.20")
|
||||||
// implementation("org.jetbrains.dokka:dokka-base:1.4.20")
|
|
||||||
implementation("org.jetbrains.intellij.plugins:gradle-changelog-plugin:1.0.0")
|
implementation("org.jetbrains.intellij.plugins:gradle-changelog-plugin:1.0.0")
|
||||||
implementation("org.jetbrains.kotlinx:binary-compatibility-validator:0.4.0")
|
implementation("org.jetbrains.kotlinx:binary-compatibility-validator:0.4.0")
|
||||||
}
|
}
|
||||||
@ -164,17 +162,6 @@ publishing {
|
|||||||
val sonatypeUser: String? by project
|
val sonatypeUser: String? by project
|
||||||
val sonatypePassword: String? by project
|
val sonatypePassword: String? by project
|
||||||
|
|
||||||
// if (sonatypeUser != null && sonatypePassword != null) {
|
|
||||||
// nexusPublishing {
|
|
||||||
// repositories {
|
|
||||||
// sonatype {
|
|
||||||
// username.set(sonatypeUser)
|
|
||||||
// password.set(sonatypePassword)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (sonatypeUser != null && sonatypePassword != null) {
|
if (sonatypeUser != null && sonatypePassword != null) {
|
||||||
val sonatypeRepo: String = if (project.version.toString().contains("dev")) {
|
val sonatypeRepo: String = if (project.version.toString().contains("dev")) {
|
||||||
"https://oss.sonatype.org/content/repositories/snapshots"
|
"https://oss.sonatype.org/content/repositories/snapshots"
|
||||||
|
@ -153,6 +153,9 @@ open class KScienceProjectPlugin : Plugin<Project> {
|
|||||||
group = RELEASE_GROUP
|
group = RELEASE_GROUP
|
||||||
description = "Publish development or production release based on version suffix"
|
description = "Publish development or production release based on version suffix"
|
||||||
dependsOn(generateReadme)
|
dependsOn(generateReadme)
|
||||||
|
tasks.findByName("publishAllPublicationsToSonatypeRepository")?.let {
|
||||||
|
dependsOn(it)
|
||||||
|
}
|
||||||
tasks.findByName("publishAllPublicationsToBintrayRepository")?.let {
|
tasks.findByName("publishAllPublicationsToBintrayRepository")?.let {
|
||||||
dependsOn(it)
|
dependsOn(it)
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,13 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinJsProjectExtension
|
|||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* From https://github.com/Kotlin/kotlinx.serialization/blob/master/buildSrc/src/main/kotlin/Publishing.kt
|
||||||
|
*/
|
||||||
|
private fun Project.getSensitiveProperty(name: String): String? {
|
||||||
|
return project.findProperty(name) as? String ?: System.getenv(name)
|
||||||
|
}
|
||||||
|
|
||||||
open class KSciencePublishPlugin : Plugin<Project> {
|
open class KSciencePublishPlugin : Plugin<Project> {
|
||||||
|
|
||||||
override fun apply(project: Project): Unit = project.plugins.withId("ru.mipt.npm.kscience") {
|
override fun apply(project: Project): Unit = project.plugins.withId("ru.mipt.npm.kscience") {
|
||||||
@ -74,7 +81,7 @@ open class KSciencePublishPlugin : Plugin<Project> {
|
|||||||
publication.artifact(dokkaJar)
|
publication.artifact(dokkaJar)
|
||||||
publication.pom {
|
publication.pom {
|
||||||
name.set(project.name)
|
name.set(project.name)
|
||||||
description.set(project.description)
|
description.set(project.description ?: project.name)
|
||||||
vcs?.let { url.set(vcs) }
|
vcs?.let { url.set(vcs) }
|
||||||
|
|
||||||
licenses {
|
licenses {
|
||||||
@ -169,10 +176,15 @@ open class KSciencePublishPlugin : Plugin<Project> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val sonatypePublish: Boolean? by project
|
||||||
val sonatypeUser: String? by project
|
val sonatypeUser: String? by project
|
||||||
val sonatypePassword: String? by project
|
val sonatypePassword: String? by project
|
||||||
|
|
||||||
if (sonatypeUser != null && sonatypePassword != null) {
|
val keyId: String? by project
|
||||||
|
val signingKey: String? = getSensitiveProperty("signingKey")
|
||||||
|
val signingKeyPassphrase: String? by project
|
||||||
|
|
||||||
|
if (sonatypePublish == true && sonatypeUser != null && sonatypePassword != null) {
|
||||||
val sonatypeRepo: String = if (project.version.toString().contains("dev")) {
|
val sonatypeRepo: String = if (project.version.toString().contains("dev")) {
|
||||||
"https://oss.sonatype.org/content/repositories/snapshots"
|
"https://oss.sonatype.org/content/repositories/snapshots"
|
||||||
} else {
|
} else {
|
||||||
@ -183,8 +195,12 @@ open class KSciencePublishPlugin : Plugin<Project> {
|
|||||||
plugins.apply("signing")
|
plugins.apply("signing")
|
||||||
}
|
}
|
||||||
|
|
||||||
extensions.findByType<SigningExtension>()?.apply {
|
extensions.configure<SigningExtension>("signing") {
|
||||||
//useGpgCmd()
|
if (!signingKey.isNullOrBlank()) {
|
||||||
|
//if key is provided, use it
|
||||||
|
@Suppress("UnstableApiUsage")
|
||||||
|
useInMemoryPgpKeys(keyId, signingKey, signingKeyPassphrase)
|
||||||
|
} // else use file signing
|
||||||
sign(publications)
|
sign(publications)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,7 +215,6 @@ open class KSciencePublishPlugin : Plugin<Project> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user