Package-level declarations

Types

Link copied to clipboard

A resolved snapshot of everything the AGP 8 adapter writes into the classic Android DSL.

Link copied to clipboard
@DisableCachingByDefault(because = "One-shot source migration with backups and provenance side effects.")
abstract class CleanupLegacyAppLogoArtifactsTask : DefaultTask

One-shot migration helper: removes app-logo files that would otherwise sit as orphans or actively break the resource merge after adopting the FG+BG pipeline.

Link copied to clipboard
class ConfigVersion(val major: Int, val minor: Int, val patch: Int, val reupload: Int)

The four numbers KiteConfig hands to a build-number scheme.

Link copied to clipboard
@RequiresOptIn(message = "Discouraged KiteConfig switch. Read its KDoc first; what breaks under it is yours to keep.", level = RequiresOptIn.Level.ERROR)
annotation class DiscouragedKiteApi

Marks a KiteConfig switch you should not reach for casually. Using one refuses to compile until the build script opts in:

Link copied to clipboard
@CacheableTask
abstract class GenerateAndroidSplashTask : DefaultTask

Generate the Android splash resources from splash { } art into a plugin-owned build/ directory, following GenerateDesktopIconsTask.

Link copied to clipboard
@CacheableTask
abstract class GenerateBuildConfigTask : DefaultTask

Generate the runtime build-config object (generateBuildConfigSource) into a plugin-owned generated commonMain dir wired onto the shared module's source set. It never writes into the user's hand-authored tree. The task is cache-capable, but cache storage is denied unless the DSL explicitly enables it. A checksum ownership manifest removes only outputs from the previous successful generation. Unknown, modified, escaping, or symlinked content fails closed instead of being deleted.

Link copied to clipboard
@CacheableTask
abstract class GenerateDesktopIconsTask : DefaultTask

Generate the macOS, Windows, and Linux installer icons from logo { } art into a plugin-owned build/ directory, following GenerateIoWorkerTask.

Link copied to clipboard
@CacheableTask
abstract class GenerateDesktopSplashTask : DefaultTask

Compose the desktop JVM splash image: a solid plate with the splash art centered on it, written into a plugin-owned build/ directory.

Link copied to clipboard
@CacheableTask
abstract class GenerateIoWorkerTask : DefaultTask

Generate the inline Web Worker offload helper (generateIoWorkerSource) into a plugin-owned generated source dir that is wired onto the selected Kotlin/JS target's source set (jsMain for the conventional js target).

Link copied to clipboard
abstract class KiteAppNameScope @Inject constructor(objects: ObjectFactory) : KiteFlowScope

Details for KiteConfigExtension.appName: per-platform name overrides and flow modifiers. android("x") overrides the shown name there.

Link copied to clipboard

Everything Android-only, inside kiteConfig { android { ... } }.

Link copied to clipboard

Generated Kotlin constants for your shared code, inside kiteConfig { buildConfig { ... } }.

Link copied to clipboard
@DisableCachingByDefault(because = "Reads mutable source-tree state; diagnostics must reflect the current checkout.")
abstract class KiteConfigCheckTask : KiteConfigDiagnosticTaskBase

Strict counterpart to KiteConfigDoctorTask. It runs the identical aggregate, read-only checks, always writes a deterministic report, and fails after report creation when ERROR findings (or optionally warnings) exist.

Link copied to clipboard

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

Link copied to clipboard
@DisableCachingByDefault(because = "Reads mutable source-tree state; concrete diagnostic tasks must report the current checkout.")
abstract class KiteConfigDiagnosticTaskBase : DefaultTask

Shared, read-only input wiring and resilient evaluation engine for the human doctor and strict machine-readable check tasks. Filesystem, provider, and parser failures become stable ERROR findings instead of escaping evaluation; each concrete task decides whether those findings gate the build.

Link copied to clipboard
@DisableCachingByDefault(because = "Reads mutable source-tree state and always reports current diagnostics.")
abstract class KiteConfigDoctorTask : KiteConfigDiagnosticTaskBase

Resilient human-readable setup diagnostic. Every supported check is attempted and reported with a stable ID. This task never fails merely because findings contain errors; use KiteConfigCheckTask for CI enforcement.

Link copied to clipboard

The single source of truth for your app's identity. Apply to the root project.

Link copied to clipboard

Apple settings inside kiteConfig { ios { ... } }.

Link copied to clipboard

Apple source sync policy inside kiteConfig { ios { rewrite { ... } } }.

Link copied to clipboard

The generated browser Web Worker helper, inside kiteConfig { web { ioWorker { ... } } }.

Link copied to clipboard
abstract class KiteConfigLogoExtension @Inject constructor(objects: ObjectFactory) : KiteFlowScope

The logo topic, inside kiteConfig { logo { ... } }: one icon for every platform.

Link copied to clipboard

Where your projects live, inside kiteConfig { modules { ... } }.

Link copied to clipboard

Kotlin/Native opt-in markers, inside kiteConfig { optIns { ... } }.

Link copied to clipboard
@DisableCachingByDefault(because = "Reports current filesystem state and is intentionally always run.")
abstract class KiteConfigPlanTask : DefaultTask

Read-only report of the source-tree mutations the current configuration authorizes.

Link copied to clipboard
class KiteConfigPlugin : Plugin<Project>

Root aggregation plugin for the kiteConfig application model.

Link copied to clipboard

Everything KiteConfig resolved, as a read-only view.

Link copied to clipboard
@DisableCachingByDefault(because = "Reporting task; prints current state.")
abstract class KiteConfigVerifyTask : DefaultTask

Read-only report of the resolved single source of truth and selected platform paths. Provider and filesystem inspection failures are rendered inline rather than aborting the report. Use KiteConfigPlanTask to inspect mutation policies and KiteConfigCheckTask to gate CI on diagnostics.

Link copied to clipboard
abstract class KiteConfigWebExtension

Browser Kotlin/JS options, inside kiteConfig { web { ... } }.

Link copied to clipboard
abstract class KiteFlowScope

Base of every topic scope. skip()/only() beside the fact are the only flow control in the DSL. Default: flow everywhere.

Link copied to clipboard
abstract class KiteIdScope @Inject constructor(objects: ObjectFactory) : KiteFlowScope

Details for KiteConfigExtension.id: per-platform suffixes and flow.

Link copied to clipboard

Everything about locales: the pinned list, the Android res filter, flow.

Link copied to clipboard

The three delivery targets a fact can flow to.

Link copied to clipboard
interface KitePlatformRef

Anything that can stand for a platform in skip()/only().

Link copied to clipboard
abstract class KiteSplashScope @Inject constructor(objects: ObjectFactory) : KiteFlowScope

The splash topic: launch-screen art for Android, iOS, and desktop.

Link copied to clipboard

Details for KiteConfigExtension.version: the shared formula and platform corners.

Link copied to clipboard

Policy for an existing plist key whose value differs from the requested value.

Link copied to clipboard
@DisableCachingByDefault(because = "Mutates user-owned source files and must execute current safety checks.")
abstract class SanitizeIosProjectTask : DefaultTask

Ensures a source iOS Info.plist holds the references that this task's propagation inputs enable. Each enabled entry points at its build variable:

Link copied to clipboard
@DisableCachingByDefault(because = "Installs and validates files in a user-owned Android resource tree.")
abstract class SyncAndroidLogoTask : DefaultTask

Propagates the FG/BG layer PNGs to a complete Android launcher-icon resource tree. Source PNGs are treated as the icon as designed (fills the canvas like an iOS marketing icon). Non-square sources are aspect-fit, never stretched: the FG is contained (letterboxed) inside the safe zone, the BG covers the canvas (center-cropped).

Link copied to clipboard
@DisableCachingByDefault(because = "Explicit migration mutates user-owned source files and must execute its safety checks.")
abstract class SyncIosConfigTask : DefaultTask

Explicit legacy migration for a source Info.plist, project.pbxproj, Podfile, and Swift imports. It is deliberately non-cacheable and always computes the complete enabled text plan before writing. All targets are contained, symlink-free, staged, locked, and committed as one recoverable batch; write-once backups are created when the backup input is enabled. Swift discovery does not follow links and is bounded by depth and visited-entry count; all input snapshots and rendered outputs share a cumulative pre-commit budget.

Link copied to clipboard
@DisableCachingByDefault(because = "Installs and validates files in a user-owned Xcode asset catalog.")
abstract class SyncIosLogoTask : DefaultTask

Composites the FG/BG layers into the iOS AppIcon.appiconset:

Link copied to clipboard
fun interface VersionCodeScheme

The one formula that turns a version into a build number.

Link copied to clipboard

The build-number formulas KiteConfig ships with.

Properties

Link copied to clipboard

Everything KiteConfig resolved, readable from any project in the build.