First Commit
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
import org.gradle.kotlin.dsl.support.serviceOf
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.kotlinJvm)
|
||||
alias(libs.plugins.ktor)
|
||||
alias(libs.plugins.sqldelight)
|
||||
alias(libs.plugins.kotlinSerialization)
|
||||
|
||||
alias(libs.plugins.jib)
|
||||
application
|
||||
}
|
||||
|
||||
group = "win.tap_tap.papertrader"
|
||||
application {
|
||||
mainClass.set("win.tap_tap.papertrader.ApplicationKt")
|
||||
|
||||
val isDevelopment: Boolean = project.ext.has("development")
|
||||
applicationDefaultJvmArgs = listOf("-Dio.ktor.development=$isDevelopment")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(projects.shared)
|
||||
implementation(libs.logback)
|
||||
implementation(libs.ktor.serverCore)
|
||||
implementation(libs.ktor.serverNetty)
|
||||
|
||||
implementation(libs.bundles.ktor)
|
||||
implementation(libs.bundles.ktorServer)
|
||||
implementation(libs.ktor.client.cio)
|
||||
implementation(libs.ktor.server.cors)
|
||||
|
||||
implementation(libs.sqlite.driver)
|
||||
|
||||
testImplementation(libs.ktor.serverTestHost)
|
||||
testImplementation(libs.kotlin.testJunit)
|
||||
}
|
||||
|
||||
allprojects {
|
||||
version = "1.0.1"
|
||||
}
|
||||
|
||||
tasks.register<Exec>("serverDockerBuild") {
|
||||
group = "deployment"
|
||||
dependsOn("buildFatJar")
|
||||
workingDir = projectDir
|
||||
commandLine("docker", "build", "-t", "papertrader-server", ".")
|
||||
}
|
||||
|
||||
tasks.register("serverDockerPush") {
|
||||
group = "deployment"
|
||||
val version = project.version
|
||||
val execOps = project.serviceOf<ExecOperations>()
|
||||
doLast {
|
||||
fun execute(args: List<String>) {
|
||||
execOps.exec {
|
||||
commandLine(args)
|
||||
}
|
||||
}
|
||||
execute(listOf("docker", "tag", "papertrader-server", "taptap1/papertrader-server:$version"))
|
||||
execute(listOf("docker", "tag", "papertrader-server", "taptap1/papertrader-server:latest"))
|
||||
execute(listOf("docker", "push", "taptap1/papertrader-server:$version"))
|
||||
execute(listOf("docker", "push", "taptap1/papertrader-server:latest"))
|
||||
println("Pushed: papertrader-server:$version and papertrader-server:latest")
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register("serverDockerDeploy") {
|
||||
group = "deployment"
|
||||
dependsOn("serverDockerBuild")
|
||||
dependsOn("serverDockerPush")
|
||||
}
|
||||
|
||||
tasks.named("serverDockerPush") {
|
||||
mustRunAfter("serverDockerBuild")
|
||||
}
|
||||
|
||||
//jib {
|
||||
// from {
|
||||
// image = "eclipse-temurin:23-jre-alpine"
|
||||
// }
|
||||
//
|
||||
// to {
|
||||
// image = "taptap1/papertrader-server"
|
||||
// tags = setOf("latest", project.version.toString())
|
||||
// }
|
||||
//
|
||||
// container {
|
||||
// entrypoint = listOf("java", "-jar", "/app/paptertraderServer.jar")
|
||||
// ports = listOf("8080")
|
||||
// }
|
||||
//}
|
||||
|
||||
ktor {
|
||||
fatJar {
|
||||
archiveFileName.set("papertraderServer.jar")
|
||||
}
|
||||
}
|
||||
|
||||
sqldelight {
|
||||
databases {
|
||||
register("Data") {
|
||||
packageName.set("win.tap_tap.papertrader")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user