1
0
unibdg-fetch-9.0.56.zip/build.gradle.kts

80 lines
2.1 KiB
Plaintext
Raw Normal View History

2025-03-03 15:48:18 +11:00
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import kotlin.system.exitProcess
val ktor_version: String by project
val logback_version: String by project
plugins {
kotlin("jvm") version "1.8.0"
application
id("org.jetbrains.kotlin.plugin.serialization") version "1.8.22"
id("com.github.johnrengelman.shadow") version "7.1.2"
}
group = "moe.fuqiuluo"
version = "1.1.9"
repositories {
mavenCentral()
maven("https://kotlin.bintray.com/ktor")
}
dependencies {
testImplementation(kotlin("test"))
implementation("io.ktor:ktor-server-content-negotiation-jvm:$ktor_version")
implementation("io.ktor:ktor-serialization-kotlinx-json-jvm:$ktor_version")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-protobuf:1.3.3")
implementation("io.ktor:ktor-server-core-jvm:$ktor_version")
implementation("io.ktor:ktor-server-netty-jvm:$ktor_version")
implementation("io.ktor:ktor-server-status-pages:$ktor_version")
implementation("ch.qos.logback:logback-classic:$logback_version")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")
implementation(fileTree(mapOf(
"dir" to "libs",
"include" to listOf("*.jar")
)))
}
tasks.test {
useJUnitPlatform()
}
kotlin {
jvmToolchain(8)
}
application {
mainClass.set("MainKt")
}
distributions {
main {
contents {
from(".") {
include("txlib/**")
}
}
}
}
tasks {
register("generateProjectFile") {
val dir = File("src/main/java/project").apply { mkdirs() }
dir.resolve("BuildConfig.java").also {
if (!it.exists()) it.createNewFile()
}.writer().use {
it.write("package project;")
it.write("public class BuildConfig {")
it.write(" public static String version = \"${project.version}\";")
it.write("}")
}
}
named("prepareKotlinBuildScriptModel").configure {
dependsOn("generateProjectFile")
}
named("processResources") {
dependsOn("generateProjectFile")
}
}