initial commit
This commit is contained in:
commit
d84861949f
92 files changed
+8425
No files matched your search
@@ -0,0 +1,126 @@
|
||||
plugins {
|
||||
alias(libs.plugins.kotlin.jvm)
|
||||
alias(ktorLibs.plugins.ktor)
|
||||
alias(libs.plugins.kotlin.serialization)
|
||||
// alias(libs.plugins.ksp)
|
||||
alias(masterLibs.plugins.versionPlugin)
|
||||
}
|
||||
|
||||
group = "net.keinekekse.app"
|
||||
version = libs.versions.appsrv.get()
|
||||
description = "Ktor Application Server"
|
||||
extra["displayname"] = "Application Server"
|
||||
extra["copyright"] = "Copyright (c) 2026 Hartmut Bauer"
|
||||
|
||||
versionConfig {
|
||||
versionClassFile.set(layout.projectDirectory.file("src/main/kotlin/Version.kt"))
|
||||
versionPackageName.set("net.keinekekse.app")
|
||||
|
||||
modules.set(
|
||||
mapOf(
|
||||
"books" to mapOf(
|
||||
"version" to libs.versions.books.get(),
|
||||
"displayName" to "Books-DB",
|
||||
"description" to "Books + Comics Database"
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
application {
|
||||
mainClass = "io.ktor.server.netty.EngineMain"
|
||||
|
||||
// java >= 24
|
||||
// WARNING: A restricted method in java.lang.System has been called
|
||||
// WARNING: java.lang.System::loadLibrary has been called by io.netty.util.internal.NativeLibraryUtil in an unnamed module
|
||||
// (file:/Users/hb/.gradle/caches/modules-2/files-2.1/io.netty/netty-common/4.2.16.Final/c2bc7fa5acfa2afc777e944d84f0aa65559cc81e/netty-common-4.2.16.Final.jar)
|
||||
// WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
|
||||
// WARNING: Restricted methods will be blocked in a future release unless native access is enabled
|
||||
applicationDefaultJvmArgs = listOf("--enable-native-access=ALL-UNNAMED")
|
||||
}
|
||||
|
||||
val buildTailwind = tasks.register("buildTailwind", Exec::class) {
|
||||
description = "build tailwind css file"
|
||||
workingDir = rootProject.layout.projectDirectory.dir("tailwind").asFile
|
||||
// direkt ins buildDir schreiben, weil Task processResources hier zu spät kommt
|
||||
commandLine(
|
||||
"/Users/hb/.npm-packages/bin/npx",
|
||||
"@tailwindcss/cli",
|
||||
"-i",
|
||||
"./input.css",
|
||||
"-o",
|
||||
layout.buildDirectory.dir("resources/main/static").get()
|
||||
.toString() + "/styles/tailwind.css",
|
||||
"--minify"
|
||||
)
|
||||
}
|
||||
val copyWebDistToServerResources = tasks.register("copyWebDistToServerResources", Copy::class) {
|
||||
description = "copy web dist to server resources"
|
||||
dependsOn(project(":web").tasks.named("jsBrowserDistribution"))
|
||||
from(project(":web").layout.buildDirectory.dir("dist/js/productionExecutable"))
|
||||
into(layout.buildDirectory.dir("resources/main/web"))
|
||||
|
||||
// from(rootProject.layout.projectDirectory.file("build/js/node_modules/bootstrap/dist/css/bootstrap.min.css"))
|
||||
// into(layout.buildDirectory.dir("resources/main/web"))
|
||||
}
|
||||
|
||||
tasks.named("processResources") {
|
||||
dependsOn(buildTailwind)
|
||||
dependsOn(copyWebDistToServerResources)
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvmToolchain(libs.versions.jvm.get().toInt())
|
||||
}
|
||||
java {
|
||||
toolchain {
|
||||
languageVersion.set(JavaLanguageVersion.of(libs.versions.jvm.get()))
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":shared"))
|
||||
implementation(masterLibs.utilLibrary)
|
||||
|
||||
implementation(ktorLibs.client.apache5)
|
||||
implementation(ktorLibs.client.cio)
|
||||
implementation(ktorLibs.client.core)
|
||||
implementation(ktorLibs.htmx.html)
|
||||
implementation(ktorLibs.serialization.kotlinx.json)
|
||||
implementation(ktorLibs.server.auth)
|
||||
implementation(ktorLibs.server.auth.oidc)
|
||||
implementation(ktorLibs.server.auth.jwt)
|
||||
implementation(ktorLibs.server.cachingHeaders)
|
||||
implementation(ktorLibs.server.compression)
|
||||
implementation(ktorLibs.server.config.yaml)
|
||||
implementation(ktorLibs.server.contentNegotiation)
|
||||
implementation(ktorLibs.server.core)
|
||||
implementation(ktorLibs.server.cors)
|
||||
implementation(ktorLibs.server.csrf)
|
||||
implementation(ktorLibs.server.defaultHeaders)
|
||||
implementation(ktorLibs.server.di)
|
||||
implementation(ktorLibs.server.forwardedHeader)
|
||||
implementation(ktorLibs.server.htmlBuilder)
|
||||
implementation(ktorLibs.server.htmx)
|
||||
implementation(ktorLibs.server.netty)
|
||||
implementation(ktorLibs.server.statusPages)
|
||||
implementation(ktorLibs.server.sessions)
|
||||
implementation(libs.exposed.core)
|
||||
implementation(libs.exposed.jdbc)
|
||||
implementation(libs.exposed.dao)
|
||||
implementation(libs.exposed.r2dbc)
|
||||
implementation(libs.h2database.h2)
|
||||
implementation(libs.h2database.r2dbc)
|
||||
implementation(libs.kotlinx.kotlinxHtml)
|
||||
implementation(libs.logback.classic)
|
||||
implementation(libs.postgresql)
|
||||
implementation(libs.hikaricp)
|
||||
|
||||
// implementation(libs.koin.ktor)
|
||||
// implementation(libs.koin.logger)
|
||||
// implementation(libs.koin.annotations)
|
||||
// ksp(libs.koin.ksp)
|
||||
|
||||
// testImplementation(kotlin("test"))
|
||||
// testImplementation(ktorLibs.server.testHost)
|
||||
}
|
||||
Reference in new issue
Block a user