mirror of
https://github.com/openMF/mobile-wallet.git
synced 2026-02-06 09:37:24 +00:00
93 lines
3.1 KiB
Plaintext
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.mifospayShared)
|
|
|
|
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)
|
|
}
|
|
}
|
|
}
|