import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.jetbrainsCompose) } kotlin { jvm("desktop") jvmToolchain(21) sourceSets { val desktopMain by getting commonMain.dependencies { implementation(compose.runtime) implementation(compose.foundation) implementation(compose.material) implementation(compose.material3) implementation(compose.ui) implementation(compose.components.resources) implementation(compose.components.uiToolingPreview) implementation(projects.shared) } desktopMain.dependencies { implementation(compose.desktop.currentOs) implementation(libs.kotlinx.coroutines.swing) //Koin implementation(libs.koin.core) implementation(project.dependencies.platform(libs.koin.bom)) implementation(libs.koin.compose) // Voyager implementation(libs.voyager.navigator) implementation(libs.voyager.screenmodel) implementation(libs.voyager.bottom.sheet.navigator) implementation(libs.voyager.tab.navigator) implementation(libs.voyager.transitions) implementation(libs.voyager.koin) implementation(libs.kotlin.logging.jvm) implementation(libs.slf4j.api) implementation(libs.slf4j.reload4j) } // Testing val desktopTest by getting commonTest.dependencies { implementation(kotlin("test")) @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) implementation(compose.uiTest) implementation(libs.junit.api) } desktopTest.dependencies { implementation(compose.desktop.uiTestJUnit4) implementation(compose.desktop.currentOs) implementation(libs.junit.api) implementation(libs.koin.test) } } } compose.desktop { application { mainClass = "MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) packageName = "io.anthonyberg.connector" packageVersion = "1.0.0" modules("java.sql") } } }