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.
Identity, locale, and Android SDK values you set 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.
Whether first-contact recovery copies are kept 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.
Whether Android logo installation may 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.
Whether the selected Android app's locale filters are replaced 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.
Whether values from android { } reach compatible modules. The default is true.
Whether a set appName is applied. The default is true.
Whether the resolved platform identifiers are applied. The default is true.
Whether KiteSSOT's built-in interop markers are added to selected Native compilations.
Whether locale metadata reaches enabled consumers. The default is true.
Whether the explicitly invoked logo installer tasks are authorized. The default is false.
Whether explicit Podfile and Swift shared-module migration is authorized under syncIos. The default is false.
Whether set platform versions and build numbers are applied. The default is true.
Read-only shared project path, including the legacy fallback.
Whether KiteSSOT maintains its 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.