mobile-wallet/cmp-desktop/build.gradle.kts
Hekmatullah fd3fc4c302
chore: rename mifospay-* modules to cmp-* (#1893)
Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com>
2025-07-28 12:03:45 +05:30

93 lines
3.1 KiB
Plaintext

/*
* Copyright 2024 Mifos Initiative
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
*/
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.jetbrainsCompose)
alias(libs.plugins.kotlin.serialization)
}
kotlin {
jvm("desktop")
jvmToolchain(17)
sourceSets {
val desktopMain by getting {
dependencies {
implementation(projects.core.common)
implementation(projects.core.data)
implementation(projects.core.model)
implementation(projects.core.datastore)
implementation(projects.cmpShared)
implementation(libs.kotlinx.coroutines.swing)
implementation(compose.desktop.currentOs)
implementation(libs.jb.kotlin.stdlib)
implementation(libs.kotlin.reflect)
implementation(libs.filekit.core)
}
}
}
}
val appPackageName: String = libs.versions.packageName.get()
val appPackageNameSpace: String = libs.versions.packageNamespace.get()
val appPackageVersion: String = libs.versions.packageVersion.get()
compose.desktop {
application {
mainClass = "MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Exe, TargetFormat.Deb)
packageName = appPackageName
packageVersion = appPackageVersion
description = "Mifos Wallet Desktop Application"
copyright = "© 2024 Mifos Initiative. All rights reserved."
vendor = "Mifos Initiative"
licenseFile.set(project.file("../LICENSE"))
includeAllModules = true
macOS {
bundleID = appPackageNameSpace
dockName = appPackageName
iconFile.set(project.file("icons/ic_launcher.icns"))
notarization {
val providers = project.providers
appleID.set(providers.environmentVariable("NOTARIZATION_APPLE_ID"))
password.set(providers.environmentVariable("NOTARIZATION_PASSWORD"))
teamID.set(providers.environmentVariable("NOTARIZATION_TEAM_ID"))
}
}
windows {
menuGroup = appPackageName
shortcut = true
dirChooser = true
perUserInstall = true
iconFile.set(project.file("icons/ic_launcher.ico"))
}
linux {
modules("jdk.security.auth")
iconFile.set(project.file("icons/ic_launcher.png"))
}
}
buildTypes.release.proguard {
configurationFiles.from(file("compose-desktop.pro"))
obfuscate.set(true)
optimize.set(true)
}
}
}