import org.gradle.jvm.tasks.Jar

description = "Umbrella : Backend"

plugins {
    application
}

application{
    mainClass = "de.srsoftware.umbrella.backend.Application"
}

dependencies{
    implementation(project(":accounting"));
    implementation(project(":bookmark"));
    implementation(project(":bus"));
    implementation(project(":company"))
    implementation(project(":contact"))
    implementation(project(":core"))
    implementation(project(":documents"))
    implementation(project(":files"))
    implementation(project(":journal"))
    implementation(project(":legacy"))
    implementation(project(":markdown"))
    implementation(project(":messages"))
    implementation(project(":notes"))
    implementation(project(":poll"))
    implementation(project(":project"))
    implementation(project(":stock"))
    implementation(project(":tags"))
    implementation(project(":task"))
    implementation(project(":time"))
    implementation(project(":translations"))
    implementation(project(":user"))
    implementation(project(":web"))
    implementation(project(":wiki"))

    implementation("de.srsoftware:configuration.json:1.0.3")
    implementation("de.srsoftware:tools.slf4j2syslog:1.0.1") // this provides a slf4j implementation that forwards to System.Logger
}

tasks.jar {
    manifest.attributes["Main-Class"] = "de.srsoftware.umbrella.backend.Application"
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
    val dependencies = configurations
        .runtimeClasspath
        .get()
        .map(::zipTree) // OR .map { zipTree(it) }
    from(dependencies)
    dependsOn(
        ":accounting:jar",
        ":bookmark:jar",
        ":bus:jar",
        ":company:jar",
        ":contact:jar",
        ":core:jar",
        ":documents:jar",
        ":files:jar",
        ":journal:jar",
        ":legacy:jar",
        ":markdown:jar",
        ":messages:jar",
        ":notes:jar",
        ":poll:jar",
        ":project:jar",
        ":stock:jar",
        ":tags:jar",
        ":task:jar",
        ":time:jar",
        ":translations:jar",
        ":user:jar",
        ":web:jar",
        ":wiki:jar")
}