import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.compose.multiplatform) } group = "com.bolenpad.photophetch" version = "1.0.0" kotlin { jvmToolchain(21) } tasks.withType { kotlinOptions.jvmTarget = "17" } java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } dependencies { implementation(compose.desktop.currentOs) implementation(compose.material3) implementation(compose.materialIconsExtended) implementation(libs.coroutines.core) implementation(libs.coroutines.swing) implementation(libs.serialization.json) implementation(libs.slf4j.api) implementation(libs.logback.classic) } compose.desktop { application { mainClass = "com.bolenpad.photophetch.MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) packageName = "PhotoPhetch" packageVersion = "1.0.0" description = "Import photos from phones into PhotoPhile" vendor = "bolenpad" copyright = "© 2026 Kyle Bolen" macOS { bundleID = "com.bolenpad.photophetch" // Uncomment and add icon.icns to src/main/resources/ for a custom icon: // iconFile.set(project.file("src/main/resources/icon.icns")) signing { sign.set(false) // set true + add identity for App Store / Gatekeeper } } } // Fat JAR for quick distribution buildTypes.release.proguard { isEnabled = false } } }