plugins { kotlin("multiplatform") version "2.0.21" `maven-publish` signing id("org.jetbrains.dokka") version "1.5.31" } group = "nl.astraeus" version = "0.2.4" repositories { mavenCentral() } kotlin { //explicitApi() jvm() js { browser() } sourceSets { val commonMain by getting val commonTest by getting { dependencies { implementation(kotlin("test-common")) } } val jvmMain by getting val jvmTest by getting { dependencies { implementation(kotlin("test")) } } val jsMain by getting val jsTest by getting { dependencies { implementation(kotlin("test-js")) } } } } 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/api/packages/rnentjes/maven") credentials { val giteaUsername: String? by project val giteaPassword: String? by project username = giteaUsername password = giteaPassword } } maven { name = "gitea8443" 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 { // 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") } } } } signing { sign(publishing.publications) } tasks.withType { dependsOn(tasks.withType()) }