94 lines
2.7 KiB
Plaintext
94 lines
2.7 KiB
Plaintext
val ktor_version: String by project
|
|
val kotlin_version: String by project
|
|
val logback_version: String by project
|
|
|
|
plugins {
|
|
kotlin("jvm") version "1.9.23"
|
|
id("io.ktor.plugin") version "2.3.9"
|
|
id("org.jetbrains.kotlin.plugin.serialization") version "1.9.23"
|
|
id("com.google.protobuf") version "0.9.4"
|
|
}
|
|
|
|
group = "dev.usbharu"
|
|
version = "0.0.1"
|
|
|
|
application {
|
|
mainClass.set("io.ktor.server.netty.EngineMain")
|
|
|
|
val isDevelopment: Boolean = project.ext.has("development")
|
|
applicationDefaultJvmArgs = listOf("-Dio.ktor.development=$isDevelopment")
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation("io.ktor:ktor-server-core-jvm")
|
|
implementation("io.ktor:ktor-server-host-common-jvm")
|
|
implementation("io.ktor:ktor-server-status-pages-jvm")
|
|
implementation("io.ktor:ktor-server-cors-jvm")
|
|
implementation("io.ktor:ktor-server-call-logging-jvm")
|
|
implementation("io.ktor:ktor-server-content-negotiation-jvm")
|
|
implementation("io.ktor:ktor-serialization-kotlinx-json-jvm")
|
|
implementation("io.ktor:ktor-server-netty-jvm")
|
|
implementation("ch.qos.logback:logback-classic:$logback_version")
|
|
testImplementation("io.ktor:ktor-server-tests-jvm")
|
|
testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version")
|
|
implementation("io.grpc:grpc-kotlin-stub:1.4.1")
|
|
implementation("io.grpc:grpc-protobuf:1.61.1")
|
|
implementation("com.google.protobuf:protobuf-kotlin:3.25.3")
|
|
implementation("io.grpc:grpc-netty:1.61.1")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
|
|
protobuf(files("../unos-proto/src/main/proto/watchdog"))
|
|
implementation("io.ktor:ktor-client-core:2.3.9")
|
|
implementation("io.ktor:ktor-client-cio:2.3.9")
|
|
implementation("dev.usbharu.unos:utils")
|
|
}
|
|
|
|
tasks.test {
|
|
useJUnitPlatform()
|
|
}
|
|
kotlin {
|
|
jvmToolchain(17)
|
|
}
|
|
|
|
protobuf {
|
|
protoc {
|
|
artifact = "com.google.protobuf:protoc:3.25.3"
|
|
}
|
|
plugins {
|
|
create("grpc") {
|
|
artifact = "io.grpc:protoc-gen-grpc-java:1.61.1"
|
|
}
|
|
create("grpckt") {
|
|
artifact = "io.grpc:protoc-gen-grpc-kotlin:1.4.1:jdk8@jar"
|
|
}
|
|
}
|
|
generateProtoTasks {
|
|
all().forEach {
|
|
it.plugins {
|
|
create("grpc")
|
|
create("grpckt")
|
|
}
|
|
it.builtins {
|
|
create("kotlin")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
jib {
|
|
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
|
|
dockerClient.environment = mapOf(
|
|
"DOCKER_HOST" to "localhost:2375"
|
|
)
|
|
}
|
|
}
|
|
|
|
ktor {
|
|
docker {
|
|
localImageName.set("watchdog-bell")
|
|
this.imageTag = version.toString()
|
|
}
|
|
} |