fix deploy for klibs (#153)
* fix deploy for klibs - update gradle wrapper - upgrade jreleaser to 1.19.0 - remove unused code in build.gradle * remove unnecessary check for js * exclude kotlinMultiplatform from publication overrides
This commit is contained in:
parent
b6bbf40175
commit
058bba110f
3 changed files with 29 additions and 35 deletions
|
|
@ -1,14 +1,9 @@
|
|||
@file:OptIn(ExperimentalKotlinGradlePluginApi::class, ExperimentalWasmDsl::class)
|
||||
@file:OptIn(ExperimentalWasmDsl::class)
|
||||
|
||||
import org.jetbrains.dokka.gradle.engine.parameters.VisibilityModifier
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
|
||||
import org.jetbrains.kotlin.gradle.dsl.ExplicitApiMode
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
|
||||
import org.jreleaser.model.Active
|
||||
|
||||
plugins {
|
||||
|
|
@ -18,20 +13,18 @@ plugins {
|
|||
alias(libs.plugins.dokka)
|
||||
alias(libs.plugins.jreleaser)
|
||||
`maven-publish`
|
||||
signing
|
||||
alias(libs.plugins.kotlinx.binary.compatibility.validator)
|
||||
}
|
||||
|
||||
group = "io.modelcontextprotocol"
|
||||
version = "0.6.0"
|
||||
|
||||
val mainSourcesJar = tasks.register<Jar>("mainSourcesJar") {
|
||||
archiveClassifier = "sources"
|
||||
from(kotlin.sourceSets.getByName("commonMain").kotlin)
|
||||
val javadocJar by tasks.registering(Jar::class) {
|
||||
archiveClassifier.set("javadoc")
|
||||
}
|
||||
|
||||
publishing {
|
||||
val javadocJar = configureEmptyJavadocArtifact()
|
||||
|
||||
publications.withType(MavenPublication::class).all {
|
||||
if (name.contains("jvm", ignoreCase = true)) {
|
||||
artifact(javadocJar)
|
||||
|
|
@ -67,19 +60,29 @@ jreleaser {
|
|||
maxRetries = 240
|
||||
stagingRepository(layout.buildDirectory.dir("staging-deploy").get().asFile.path)
|
||||
// workaround: https://github.com/jreleaser/jreleaser/issues/1784
|
||||
kotlin.targets.forEach { target ->
|
||||
if (target !is KotlinJvmTarget && target !is KotlinAndroidTarget && target !is KotlinMetadataTarget) {
|
||||
val klibArtifactId = if (target.platformType == KotlinPlatformType.wasm) {
|
||||
"${name}-wasm-${target.name.lowercase().substringAfter("wasm")}"
|
||||
} else {
|
||||
"${name}-${target.name.lowercase()}"
|
||||
}
|
||||
artifactOverride {
|
||||
artifactId = klibArtifactId
|
||||
jar = false
|
||||
verifyPom = false
|
||||
sourceJar = false
|
||||
javadocJar = false
|
||||
afterEvaluate {
|
||||
publishing.publications.forEach { publication ->
|
||||
if (publication is MavenPublication) {
|
||||
val pubName = publication.name
|
||||
|
||||
if (!pubName.contains("jvm", ignoreCase = true)
|
||||
&& !pubName.contains("metadata", ignoreCase = true)
|
||||
&& !pubName.contains("kotlinMultiplatform", ignoreCase = true)
|
||||
) {
|
||||
|
||||
artifactOverride {
|
||||
artifactId = when {
|
||||
pubName.contains("wasm", ignoreCase = true) ->
|
||||
"${project.name}-wasm-${pubName.lowercase().substringAfter("wasm")}"
|
||||
|
||||
else -> "${project.name}-${pubName.lowercase()}"
|
||||
}
|
||||
jar = false
|
||||
verifyPom = false
|
||||
sourceJar = false
|
||||
javadocJar = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -133,15 +136,6 @@ fun MavenPom.configureMavenCentralMetadata() {
|
|||
}
|
||||
}
|
||||
|
||||
fun configureEmptyJavadocArtifact(): org.gradle.jvm.tasks.Jar {
|
||||
val javadocJar by project.tasks.creating(Jar::class) {
|
||||
archiveClassifier.set("javadoc")
|
||||
// contents are deliberately left empty
|
||||
// https://central.sonatype.org/publish/requirements/#supply-javadoc-and-sources
|
||||
}
|
||||
return javadocJar
|
||||
}
|
||||
|
||||
fun MavenPublication.signPublicationIfKeyPresent() {
|
||||
val keyId = project.getSensitiveProperty("SIGNING_KEY_ID")
|
||||
val signingKey = project.getSensitiveProperty("SIGNING_KEY_PRIVATE")
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ coroutines = "1.10.2"
|
|||
ktor = "3.2.1"
|
||||
mockk = "1.14.4"
|
||||
logging = "7.0.7"
|
||||
jreleaser = "1.17.0"
|
||||
jreleaser = "1.19.0"
|
||||
binaryCompatibilityValidatorPlugin = "0.18.0"
|
||||
slf4j = "2.0.17"
|
||||
kotest = "5.9.1"
|
||||
|
|
|
|||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
|
@ -1,6 +1,6 @@
|
|||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
|
|
|||
Loading…
Reference in a new issue