import org.jetbrains.compose.desktop.application.dsl.TargetFormat

plugins {
    alias(libs.plugins.kotlin.kover)
    alias(libs.plugins.kotlin.jvm)
    alias(libs.plugins.compose.compiler)
    alias(libs.plugins.compose)
}

kotlin {
    jvmToolchain(libs.versions.jdk.get().toInt())

    dependencies {
        implementation(compose.desktop.currentOs)
        implementation(compose.material3)
        implementation(compose.components.resources)
        implementation(projects.commonUI)
        implementation(compose.components.uiToolingPreview)

        testImplementation(libs.kotlin.test)
        testImplementation(libs.atrium)
        testImplementation(compose.desktop.uiTestJUnit4)
        testImplementation(compose.desktop.currentOs)
    }
}

compose.desktop {
    application {
        mainClass = "ch.dissem.yaep.ui.desktop.MainKt"

        nativeDistributions {
            targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
            packageName = "YAEP"
            packageVersion = libs.versions.app.version.name.get()
            macOS {
                iconFile.set(project.file("icon.icns"))
            }
            windows {
                iconFile.set(project.file("icon.ico"))
            }
            linux {
                iconFile.set(project.file("icon.png"))
            }

            buildTypes.release.proguard {
                configurationFiles.from(project.file("proguard-rules.pro"))
                isEnabled.set(false)
                obfuscate.set(false)
            }
        }
    }
}
