plugins {
    alias(libs.plugins.kotlin.jvm)
    alias(libs.plugins.kotlin.serialization)
    alias(libs.plugins.detekt)
    alias(libs.plugins.jfx)
}

group = "com.marvinelsen"
version = "1.0.0"

repositories {
    mavenCentral()
    repositories {
        maven {
            url = uri("https://gitea.marvinelsen.com/api/packages/marvinelsen/maven")
        }
    }
}

dependencies {
    detektPlugins(libs.detekt.formatting)

    implementation(libs.sqlite.jdbc)

    implementation(libs.kotlinx.serialization.json)
    implementation(libs.kotlinx.html.jvm)

    implementation(libs.segment)

    implementation(libs.ikonli.javafx)

    testImplementation(libs.kotest.core)
    testImplementation(libs.kotest.assertions)
}

tasks.test {
    useJUnitPlatform()
}

kotlin {
    jvmToolchain(21)
}

javafx {
    version = libs.versions.javafx.get()
    modules("javafx.base", "javafx.graphics", "javafx.controls", "javafx.fxml", "javafx.web")
}

detekt {
    buildUponDefaultConfig = true
    allRules = false
    autoCorrect = true
}
