filemure/app/build.gradle.kts

76 lines
2 KiB
Text

plugins {
id("buildsrc.convention.kotlin-jvm")
alias(libs.plugins.tempolin)
id("app.cash.sqldelight") version "2.0.2"
id("com.github.johnrengelman.shadow") version "8.1.1"
application
}
dependencies {
implementation("at.favre.lib:bcrypt:0.10.2")
implementation("org.apache.pdfbox:pdfbox:3.0.4")
implementation("app.cash.sqldelight:sqlite-driver:2.0.2")
implementation("com.fasterxml.jackson.core:jackson-databind:2.18.2")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.18.+")
implementation("com.squareup.okhttp3:okhttp:4.12.0")
implementation(libs.slf4jsimple)
implementation(libs.javalin)
implementation(libs.commonsText)
implementation(project(":core"))
testImplementation(kotlin("test"))
}
application {
mainClass = "net.h34t.filemure.ServerKt"
}
tasks.withType<Jar> {
manifest {
attributes["Main-Class"] = application.mainClass
}
}
sourceSets {
main {
kotlin {
// include the generated source files
srcDir("${layout.buildDirectory.get()}/generated-sources/tempolin")
}
}
}
tasks.getByName("compileKotlin") {
dependsOn("tempolin")
}
tempolin {
add {
// place all templates in this directory
// subdirectories become packages
templateDirectory = "$projectDir/src/main/tpl"
// output directory for the generated templates
outputDirectory = "${layout.buildDirectory.get()}/generated-sources/tempolin"
// currently, there's only the "kotlin" generator
// optional, default is "kotlin"
compilationTarget = "kotlin"
// an optional input file filter
fileFilter = { file -> file.extension == "html" }
// set the name and package of the template interface
// defaults to "net.h34t.TempolinTemplate"
templateInterface = "net.h34t.filemure.Template"
}
}
sqldelight {
databases {
create("Database") {
packageName.set("net.h34t.filemure.db")
}
}
}