Kite Ssot Build Config Extension
Generates a Kotlin object with public runtime configuration.
Configure it inside kiteSsot { buildConfig { ... } }. KiteSSOT adds the generated object to the selected shared project's commonMain. Production source sets that depend on commonMain can read the same constants without expect and actual declarations.
By default, the object includes app name, version name, version code, Android application ID, iOS bundle ID, and locales. Set includeIdentity to false when you only want custom fields. Generated source stays in a plugin-owned build directory and never enters your hand-written source tree. Every package, object, and custom field name must be a valid Kotlin name.
Android SDK and toolchain values are not included automatically. If runtime code needs one, declare a custom field from the same root value that configures the Android block.
kiteSsot {
sharedProjectPath = ":shared"
buildConfig {
enabled = true
className = "BuildConfig" // default
packageName = "com.acme.app" // default: kitessot.generated
stringField("BASE_URL", "https://api.acme.com")
intField("API_TIMEOUT_MS", 30_000)
booleanField("ANALYTICS_ENABLED", true)
stringField(
"PUBLIC_CHANNEL",
providers.gradleProperty("publicChannel"),
)
}
}This is not a secret store. Only put public client configuration here. A provider can keep a value out of the build script and version control, but the resolved value still enters generated source and Gradle task inputs. It may also appear in build scans, KLIBs, APKs, IPAs, decompiled binaries, and trusted build caches when allowBuildCache is enabled. Never add passwords, private API keys, signing material, or other credentials.
Properties
Functions
Add a validated Kotlin Boolean constant.
Add a validated finite Kotlin Double constant. NaN and infinite values are rejected.
Add a validated Kotlin String constant of at most 10,000 characters.
Add a validated Kotlin String constant from a provider.