96 lines
2.8 KiB
Plaintext
96 lines
2.8 KiB
Plaintext
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<MavenPublication>("maven") {
|
|
from(components["java"])
|
|
|
|
pom {
|
|
name.set("ScalaExt-OneDriveTransfer")
|
|
description.set("将 Telegram 中的文件转存至 OneDrive.")
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|