Kite Ssot Extension
Root configuration for KiteSSOT.
Apply the plugin and configure this model in the root project. Set only the values that KiteSSOT should own. Most unset scalar values leave existing project configuration alone. iosMarketingVersion can inherit versionName, locales can be discovered, and enabled features may require related inputs.
Present identity, locale, and Android SDK values are applied by default. Source changes, logo installation, Native compiler opt-ins, and Android resource filtering require explicit switches.
A small setup looks like this:
kiteSsot {
appName = "Jetzy"
versionName = "1.4.0"
bundleIdBase = "com.example.jetzy"
sharedProjectPath = ":shared"
android {
compileSdk = 36
minSdk = 26
targetSdk = 36
}
}Scalar and list inputs use Gradle Property and ListProperty. Typed paths use DirectoryProperty and RegularFileProperty. Build logic can keep a value lazy, for example val minSdk = ssot.android.minSdk, and pass that provider to another Gradle property. The derived read-only providers are versionCode, androidApplicationId, iosBundleId, canonicalLocales, and resolvedSharedProjectPath.
Properties
Android SDK options. Configure them with kiteSsot { android { ... } }.
Optional Android app directory.
Read-only Android ID: bundleIdBase plus androidApplicationIdSuffix.
Optional suffix appended to bundleIdBase for the Android application ID.
Exact Android application project paths for app identity, versions, name, locale filters, and logo output.
Legacy Android app directory. Prefer androidApplicationProjects.
Fraction of Android's adaptive icon canvas used by the foreground.
Solid logo background in #RRGGBB or #AARRGGBB form.
Background PNG used by both logo installers.
Foreground PNG used by both logo installers.
Keep first-contact recovery copies for source rewrites and Apple icons.
Generated runtime constants for the selected KMP project's commonMain.
Optional reverse-DNS base for Android and Apple identifiers.
Read-only normalized and de-duplicated locale list.
Allow Android logo installation to take over known legacy icon files.
Optional Compose resources directory used for locale discovery.
Additional fully qualified opt-in markers for the selected Native scope.
Replace the selected Android app's locale filters with locales.
Exact KMP project paths for Native opt-ins.
Apple-only options. Configure them with kiteSsot { ios { ... } }.
Legacy relative path. Prefer iosAppDirectory.
Apple source tree searched by explicit Swift import migration.
Destination for Apple AppIcon installation.
Legacy Apple AppIcon directory. Prefer iosAppIconDirectory.
Optional Apple build number for CURRENT_PROJECT_VERSION.
Read-only Apple ID: bundleIdBase plus iosBundleSuffix.
Optional suffix appended to bundleIdBase for the Apple bundle ID.
Source XML Info.plist used by explicit sanitization.
Legacy relative path. Prefer iosInfoPlistFile.
Optional Apple marketing version.
Xcode project.pbxproj used by explicit Apple tasks.
Podfile used by explicit shared-module migration.
Legacy relative path. Prefer iosPodfileFile.
Previous CocoaPods and Swift module name for an explicit reference migration. Set it with iosSharedModuleName.
Legacy relative path. Prefer iosPbxprojFile.
New CocoaPods and Swift module name for an explicit reference migration. Set it with iosPreviousSharedModuleName.
Optional Java and Kotlin JVM level.
Legacy input for iosPreviousSharedModuleName.
Apply values from android {} to compatible modules. Default is true.
Apply a present appName. Default is true.
Apply resolved platform identifiers. Default is true.
Add KiteSSOT's built-in interop markers to selected Native compilations.
Add locale metadata to enabled consumers. Default is true.
Enable explicitly invoked logo installers. Default is false.
Enable explicit Podfile and Swift shared-module migration under syncIos. Default is false.
Apply present platform versions and build numbers. Default is true.
Read-only shared project path, including the legacy fallback.
Maintain KiteSSOT references in a source XML Info.plist.
Legacy shared module name. Prefer the specific selectors below.
Absolute Gradle path of the KMP project that owns generated commonMain source, for example :shared.
Resolved Android version code.
Optional explicit Android versionCode.
Optional release version shown to users.
Browser Kotlin/JS options. Node.js and wasm targets are unsupported.
Functions
Configure the nested Android SDK/release model.
Configure optional common Kotlin constants generation.
Configure the nested Apple-specific model.
Configure optional browser Kotlin/JS source generation.