plugins {
    id("com.diffplug.spotless") version "7.0.4"
}

repositories {
    mavenCentral()
}

spotless {
    java {
        target("**/src/**/java/**/*.java")
        removeUnusedImports()
        importOrder()
        licenseHeader("/* © SRSoftware 2025 */")
    }
}

afterEvaluate {
    tasks.named("build") {
        dependsOn("spotlessApply")
    }
}

subprojects {
    group = "de.srsoftware"

    apply(plugin = "java-library")


    repositories {
        mavenLocal()
        mavenCentral()
    }

    val implementation by configurations
    val compileOnly by configurations
    val testImplementation by configurations
    val testRuntimeOnly by configurations

    dependencies {
        testImplementation(platform("org.junit:junit-bom:5.10.0"))
        testImplementation("org.junit.jupiter:junit-jupiter")
        implementation("de.srsoftware:configuration.api:1.0.2")
        implementation("de.srsoftware:tools.jdbc:2.0.7")
        implementation("de.srsoftware:tools.http:6.0.5")
        implementation("de.srsoftware:tools.mime:1.1.4")
        implementation("de.srsoftware:tools.logging:1.3.2")
        implementation("de.srsoftware:tools.optionals:1.0.0")
        implementation("de.srsoftware:tools.util:2.1.1")
        implementation("org.json:json:20240303")
    }

    tasks.withType<Test>() {
        useJUnitPlatform()
    }
}
