diff --git a/scalabot-meta/build.gradle.kts b/scalabot-meta/build.gradle.kts index f0ef77e..88cd8f7 100644 --- a/scalabot-meta/build.gradle.kts +++ b/scalabot-meta/build.gradle.kts @@ -1,11 +1,11 @@ plugins { kotlin("jvm") version "1.6.10" id("org.jetbrains.kotlinx.kover") version "0.5.1" + id("org.jetbrains.dokka") version "1.7.0" + `maven-publish` + signing } -group = "net.lamgc" -version = "0.3.1" - repositories { mavenCentral() } @@ -23,8 +23,90 @@ dependencies { testImplementation("io.mockk:mockk:1.12.4") testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.2") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.2") + + dokkaHtmlPlugin("org.jetbrains.dokka:javadoc-plugin:1.7.0") +} + +tasks.withType().configureEach { + kotlinOptions { + jvmTarget = "11" + } +} + +java { + withJavadocJar() + withSourcesJar() + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } tasks.getByName("test") { useJUnitPlatform() -} \ No newline at end of file +} + +val javadocJar = tasks.named("javadocJar") { + from(tasks.named("dokkaJavadoc")) +} + +publishing { + repositories { + if (project.version.toString().endsWith("-SNAPSHOT", ignoreCase = true)) { + maven("https://nexus.kuku.me/repository/maven-snapshots/") { + credentials { + username = project.properties["repo.credentials.private.username"].toString() + password = project.properties["repo.credentials.private.password"].toString() + } + } + } else { + maven("https://nexus.kuku.me/repository/maven-releases/") { + credentials { + username = project.properties["repo.credentials.private.username"].toString() + password = project.properties["repo.credentials.private.password"].toString() + } + } + } + } + + publications { + create("maven") { + from(components["kotlin"]) + artifact(javadocJar) + artifact(tasks.named("sourcesJar")) + pom { + name.set("ScalaBot-meta") + description.set( + "Shared components used by scalabot (such as configuration classes)" + ) + url.set("https://github.com/LamGC/ScalaBot") + licenses { + license { + name.set("The MIT License") + url.set("https://www.opensource.org/licenses/mit-license.php") + } + } + developers { + developer { + id.set("LamGC") + name.set("LamGC") + email.set("lam827@lamgc.net") + url.set("https://github.com/LamGC") + } + } + scm { + connection.set("scm:git:https://github.com/LamGC/ScalaBot.git") + developerConnection.set("scm:git:https://github.com/LamGC/ScalaBot.git") + url.set("https://github.com/LamGC/ScalaBot") + } + issueManagement { + url.set("https://github.com/LamGC/ScalaBot/issues") + system.set("Github Issues") + } + } + } + } +} + +signing { + useGpgCmd() + sign(publishing.publications["maven"]) +}