You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.5 KiB
69 lines
2.5 KiB
/* |
|
* Copyright 2020-2021 JetBrains s.r.o. and respective authors and developers. |
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file. |
|
*/ |
|
|
|
package org.jetbrains.compose.desktop.application.dsl |
|
|
|
import org.gradle.api.Action |
|
import org.gradle.api.file.RegularFileProperty |
|
import org.gradle.api.model.ObjectFactory |
|
import javax.inject.Inject |
|
|
|
abstract class PlatformSettings (objects: ObjectFactory) { |
|
val iconFile: RegularFileProperty = objects.fileProperty() |
|
var packageVersion: String? = null |
|
var installationPath: String? = null |
|
} |
|
|
|
open class MacOSPlatformSettings @Inject constructor(objects: ObjectFactory): PlatformSettings(objects) { |
|
var packageName: String? = null |
|
var dockName: String? = null |
|
var setDockNameSameAsPackageName: Boolean = true |
|
var dmgPackageVersion: String? = null |
|
var pkgPackageVersion: String? = null |
|
|
|
/** |
|
* An application's unique identifier across Apple's ecosystem. |
|
* |
|
* May only contain alphanumeric characters (A-Z,a-z,0-9), hyphen (-) and period (.) characters |
|
* |
|
* Use of a reverse DNS notation (e.g. com.mycompany.myapp) is recommended. |
|
*/ |
|
var bundleID: String? = null |
|
|
|
val signing: MacOSSigningSettings = objects.newInstance(MacOSSigningSettings::class.java) |
|
fun signing(fn: Action<MacOSSigningSettings>) { |
|
fn.execute(signing) |
|
} |
|
|
|
val notarization: MacOSNotarizationSettings = objects.newInstance(MacOSNotarizationSettings::class.java) |
|
fun notarization(fn: Action<MacOSNotarizationSettings>) { |
|
fn.execute(notarization) |
|
} |
|
} |
|
|
|
open class LinuxPlatformSettings @Inject constructor(objects: ObjectFactory): PlatformSettings(objects) { |
|
var shortcut: Boolean = false |
|
var packageName: String? = null |
|
var appRelease: String? = null |
|
var appCategory: String? = null |
|
var debMaintainer: String? = null |
|
var menuGroup: String? = null |
|
var rpmLicenseType: String? = null |
|
var debPackageVersion: String? = null |
|
var rpmPackageVersion: String? = null |
|
} |
|
|
|
open class WindowsPlatformSettings @Inject constructor(objects: ObjectFactory): PlatformSettings(objects) { |
|
var console: Boolean = false |
|
var dirChooser: Boolean = true |
|
var perUserInstall: Boolean = false |
|
var shortcut: Boolean = false |
|
var menu: Boolean = false |
|
get() = field || menuGroup != null |
|
var menuGroup: String? = null |
|
var upgradeUuid: String? = null |
|
var msiPackageVersion: String? = null |
|
var exePackageVersion: String? = null |
|
} |