KiteConfigDesktopExtension

Compose Desktop settings inside kiteConfig { desktop { ... } }.

The root block holds the truth about your app: its name, its version, its ID. This block holds only what a desktop installer needs on top of that.

kiteConfig {
appName = "Jetzy"
appId = "com.example.jetzy"
desktop { appId { suffix = ".desktop" } }
version = "1.4.0"
desktop { version { rebuild = 2 } }
}

Opening the block is the opt-in. desktop { } on its own is enough, and every property below already has a working default.

The three installer families

One app produces three very different packages, and each one names things its own way. KiteConfig derives all three from the values you already set.

FamilyTakes its identity fromIts own dial here
macOS .dmg and .pkgroot appName and the bundle IDlogo { desktop { roundMac } }
Windows .msi and .exeroot appName and the versionderiveUpgradeUuid
Linux .deb, .rpm, AppImagea Debian-legal slug of appNamelinuxPackageName

Installer icons are not a dial here: they are generated whenever logo { } carries art that flows to desktop.

See also

to pick which projects this applies to.

for the build-number scheme every platform shares.

KiteConfigLogoExtension

for the art that becomes installer icons.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
abstract val appId: Property<String>

The exact application identifier on this platform.

Link copied to clipboard
abstract val appName: Property<String>

The display name on this platform. Unset means the shared appName.

Link copied to clipboard
abstract val autoApply: Property<Boolean>

Apply this platform's source changes automatically. Unset means the shared autoApply.

Link copied to clipboard
abstract val deriveUpgradeUuid: Property<Boolean>

Whether KiteConfig fills the Windows upgrade code for you, derived from the root id.

Link copied to clipboard
abstract val linuxPackageName: Property<String>

The Debian package name used by the .deb, .rpm, and AppImage builds, for example "jetzy".

Link copied to clipboard
override val platform: KitePlatform
Link copied to clipboard
abstract val version: Property<String>

The release version on this platform. Unset means the shared version.

Functions

Link copied to clipboard
fun appId(action: Action<in KiteAppIdScope>)

This platform's identifier suffix and delivery switch.

Link copied to clipboard
fun appName(action: Action<in KiteAppNameScope>)

Whether this platform receives the app name.

Link copied to clipboard
fun jvm(action: Action<in KiteJvmScope>)

The JVM toolchain and bytecode level for this platform's compilations.

Link copied to clipboard
fun locales(action: Action<in KiteLocalesScope>)

The locale list this platform ships, when it differs from the shared one.

Link copied to clipboard
fun logo(action: Action<in KiteDesktopLogoScope>)

This platform's icon art and how much of the canvas the mark fills.

Link copied to clipboard
fun splash(action: Action<in KiteSplashScope>)

This platform's launch screen.

Link copied to clipboard
fun version(action: Action<in KitePlatformVersionScope>)

This platform's build number, counter, scheme, and delivery switch.