Files
midi-arrays/build.gradle.kts
rnentjes 3c5cd8b571 Update plugins and fix Maven publishing task configuration
Upgraded Foojay and Dokka plugins to newer versions for compatibility and added proper dependency handling for signing tasks in Maven publishing. This ensures the publication process aligns with the updated project configuration.
2024-12-14 15:19:29 +01:00

109 lines
2.7 KiB
Kotlin

import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
plugins {
kotlin("multiplatform") version "2.0.21"
`maven-publish`
signing
id("org.jetbrains.dokka") version "1.5.31"
}
group = "nl.astraeus"
version = "0.1.0"
repositories {
mavenCentral()
maven {
url = uri("https://gitea.astraeus.nl:8443/api/packages/rnentjes/maven")
}
}
kotlin {
jvm()
js {
browser()
}
sourceSets {
val commonMain by getting {
dependencies {
api("nl.astraeus:typed-byte-arrays:0.2.6")
}
}
val commonTest by getting
val jvmMain by getting
val jvmTest by getting
val jsMain by getting
val jsTest by getting
}
}
extra["PUBLISH_GROUP_ID"] = group
extra["PUBLISH_VERSION"] = version
extra["PUBLISH_ARTIFACT_ID"] = name
// Stub secrets to let the project sync and build without the publication values set up
val signingKeyId: String? by project
val signingPassword: String? by project
val signingSecretKeyRingFile: String? by project
extra["signing.keyId"] = signingKeyId
extra["signing.password"] = signingPassword
extra["signing.secretKeyRingFile"] = signingSecretKeyRingFile
val javadocJar by tasks.registering(Jar::class) {
archiveClassifier.set("javadoc")
}
publishing {
repositories {
maven {
name = "gitea"
setUrl("https://gitea.astraeus.nl:8443/api/packages/rnentjes/maven")
credentials {
val giteaUsername: String? by project
val giteaPassword: String? by project
username = giteaUsername
password = giteaPassword
}
}
}
// Configure all publications
publications.withType<MavenPublication> {
// Stub javadoc.jar artifact
artifact(javadocJar.get())
// Provide artifacts information requited by Maven Central
pom {
name.set("typed-byte-arrays")
description.set("Typed byte arrays")
url.set("https://gitea.astraeus.nl/rnentjes/typed-byte-arrays")
licenses {
license {
name.set("MIT")
url.set("https://opensource.org/licenses/MIT")
}
}
developers {
developer {
id.set("rnentjes")
name.set("Rien Nentjes")
email.set("info@nentjes.com")
}
}
scm {
url.set("https://gitea.astraeus.nl/rnentjes/typed-byte-arrays")
}
}
}
}
tasks.withType<AbstractPublishToMaven> {
dependsOn(tasks.withType<Sign>())
}
signing {
sign(publishing.publications)
}