build: Update publishing plugins.

gradleNexusPublish 1.1.0 -> 1.3.0
vanniktechPublish 0.18.0 -> 0.27.0
This commit is contained in:
Mateusz Armatys 2024-02-08 18:44:05 +01:00
parent c3d1634627
commit 15f46a6825
2 changed files with 18 additions and 8 deletions

View File

@ -6,14 +6,14 @@ daggerHiltAndroid = "2.46.1"
dependencyAnalysis = "1.20.0"
detekt = "1.23.0"
easyGradle = "2.8"
gradleNexusPublish = "1.1.0"
gradleNexusPublish = "1.3.0"
kotlin = "1.8.21"
kotlinCoroutines = "1.6.4"
kotlinSerialization = "1.4.1"
kotlinBinaryCompatibilityValidator = "0.13.2"
kotlinx-kover = "0.7.1"
jacoco-to-cobertura = "1.1.0"
vanniktechPublish = "0.18.0"
vanniktechPublish = "0.27.0"
paparazzi = "1.3.1"
[plugins]

View File

@ -1,8 +1,8 @@
import PublishOptionExtension.Companion.setupPublishOptionExtension
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
import com.vanniktech.maven.publish.KotlinJvm
import com.vanniktech.maven.publish.MavenPublishBaseExtension
import com.vanniktech.maven.publish.MavenPublishPlugin
import com.vanniktech.maven.publish.MavenPublishPluginExtension
import org.gradle.api.Project
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.configure
@ -44,11 +44,18 @@ private fun Project.setupCoordinates(groupName: String, versionName: String) {
version = versionName
apply<MavenPublishPlugin>()
configure<MavenPublishPluginExtension> {
// Only sign non snapshot release
releaseSigningEnabled = !versionName.contains("SNAPSHOT")
}
configure<MavenPublishBaseExtension> {
if (!versionName.contains("SNAPSHOT")) {
// Only sign non snapshot release
signAllPublications()
}
when {
isAndroidLibrary() -> configure(AndroidSingleVariantLibrary("release", publishJavadocJar = false))
isKotlinJvmLibrary() -> configure(KotlinJvm())
else -> logger.warn("No compatible plugin found in project ${project.path} for publishing")
}
pom {
name.set(artifactId)
description.set("Proton Core libraries for Android")
@ -76,6 +83,9 @@ private fun Project.setupCoordinates(groupName: String, versionName: String) {
ensureReleaseCoordinateDocumented()
}
private fun Project.isAndroidLibrary(): Boolean = plugins.hasPlugin("com.android.library")
private fun Project.isKotlinJvmLibrary(): Boolean = plugins.hasPlugin("org.jetbrains.kotlin.jvm")
private fun Project.ensureReleaseCoordinateDocumented() {
val readmeFile = File(rootDir, "README.md")
val readmeText = readmeFile.readText()