import java.net.URI plugins { kotlin("jvm") version "2.1.0" `maven-publish` } group = "net.lamgc.scext" version = "0.1.0-SNAPSHOT" repositories { mavenLocal() mavenCentral() maven { url = URI.create("https://git.lamgc.me/api/packages/LamGC/maven") name = "lam-gitea" } } dependencies { compileOnly("org.slf4j:slf4j-api:2.0.10") compileOnly("io.github.microutils:kotlin-logging:3.0.5") compileOnly("net.lamgc:scalabot-extension:0.8.0-1") implementation("com.fasterxml.jackson.core:jackson-core:2.16.1") implementation("com.fasterxml.jackson.core:jackson-databind:2.16.1") implementation("com.fasterxml.jackson.core:jackson-annotations:2.16.1") implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.16.1") val exposedVersion = "0.45.0" implementation("org.jetbrains.exposed:exposed-core:$exposedVersion") implementation("org.jetbrains.exposed:exposed-crypt:$exposedVersion") implementation("org.jetbrains.exposed:exposed-dao:$exposedVersion") implementation("org.jetbrains.exposed:exposed-jdbc:$exposedVersion") implementation("org.jetbrains.exposed:exposed-kotlin-datetime:$exposedVersion") implementation("org.xerial:sqlite-jdbc:3.44.1.0") implementation("mysql:mysql-connector-java:8.0.33") implementation("com.zaxxer:HikariCP:5.1.0") implementation("com.microsoft.graph:microsoft-graph:5.77.0") implementation("com.azure:azure-identity:1.14.2") testImplementation("org.jetbrains.kotlin:kotlin-test") } tasks.test { useJUnitPlatform() } kotlin { jvmToolchain(17) } val fatJar = task("fatJar", type = Jar::class) { archiveBaseName = "${project.name}-agent" manifest { attributes["Implementation-Title"] = "OneDrive-Transfer" attributes["Implementation-Version"] = version attributes["Main-Class"] = "net.lamgc.scext.onedrive_transfer.AgentMainKt" } duplicatesStrategy = DuplicatesStrategy.EXCLUDE from(configurations.runtimeClasspath.get().map({ if (it.isDirectory) it else zipTree(it) })) with(tasks.jar.get() as CopySpec) } tasks { "jar" { dependsOn(fatJar) } } publishing { repositories { maven("https://git.lamgc.me/api/packages/LamGC/maven") { credentials { username = project.properties["repo.credentials.self-git.username"].toString() password = project.properties["repo.credentials.self-git.password"].toString() } } mavenLocal() } publications { create("maven") { from(components["java"]) pom { name.set("ScalaExt-OneDriveTransfer") description.set("将 Telegram 中的文件转存至 OneDrive.") } } } }