diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index c224ad5..1e16934 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -1,6 +1,6 @@ - \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 5ec7093..0eec11b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,14 +1,14 @@ -import org.gradle.model.internal.core.ModelNodes.withType +import com.vanniktech.maven.publish.SonatypeHost plugins { - kotlin("jvm") version "2.1.0" - `maven-publish` + kotlin("jvm") version "2.1.21" signing - id("org.jetbrains.dokka") version "1.5.31" + id("org.jetbrains.dokka") version "2.0.0" + id("com.vanniktech.maven.publish") version "0.31.0" } group = "nl.astraeus" -version = "1.1.4-SNAPSHOT" +version = "1.1.4" repositories { mavenCentral() @@ -25,19 +25,6 @@ tasks.test { maxHeapSize = "1g" } -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") } @@ -49,6 +36,7 @@ val sourcesJar by tasks.registering(Jar::class) { publishing { repositories { + mavenLocal() maven { name = "gitea" setUrl("https://gitea.astraeus.nl/api/packages/rnentjes/maven") @@ -61,45 +49,56 @@ publishing { password = giteaPassword } } - } + maven { + name = "gitea8443" + setUrl("https://gitea.astraeus.nl:8443/api/packages/rnentjes/maven") - publications { - create("mavenKotlin") { - artifact(javadocJar.get()) - artifact(tasks.jar.get()) - artifact(sourcesJar.get()) - } - } - publications.withType { - // Provide artifacts information requited by Maven Central - pom { - name.set("simple-persistence-kotlin") - description.set("Simple persistence in Kotlin") + credentials { + val giteaUsername: String? by project + val giteaPassword: String? by project - 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/simple-persistence-kotlin") + username = giteaUsername + password = giteaPassword } } } } +tasks.withType { + dependsOn(tasks.withType()) +} + signing { sign(publishing.publications) } -tasks.withType { - dependsOn(tasks.withType()) +mavenPublishing { + publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL) + + signAllPublications() + + coordinates(group.toString(), name, version.toString()) + + pom { + name = "simple-persistence-kotlin" + description = "Simple persistence" + inceptionYear = "2024" + url = "https://gitea.astraeus.nl/rnentjes/simple-persistence-kotlin" + licenses { + license { + name = "MIT" + url = "https://opensource.org/licenses/MIT" + } + } + developers { + developer { + id = "rnentjes" + name = "Rien Nentjes" + email = "info@nentjes.com" + } + } + scm { + url = "https://gitea.astraeus.nl/rnentjes/simple-persistence-kotlin" + } + } }