# --- Android build features --- android.defaults.buildfeatures.resvalues=false android.defaults.buildfeatures.shaders=false # --- Compose --- android.experimental.enableScreenshotTest=true compose.hot.reload=true enableComposeCompilerMetrics=false enableComposeCompilerReports=false # --- Kotlin --- kotlin.code.style=official kotlin.daemon.jvm.options=-Xmx4g -XX\:+UseG1GC -XX\:SoftRefLRUPolicyMSPerMB=1 -XX\:ReservedCodeCacheSize=320m -XX\:+HeapDumpOnOutOfMemoryError kotlin.daemon.useFallback=false # --- KSP --- # (incremental processing is default-on in KSP2; only the non-default flag is declared) ksp.project.isolation.enabled=true # --- Gradle --- org.gradle.caching=true org.gradle.configuration-cache=true org.gradle.isolated-projects=true org.gradle.jvmargs=-Xmx8g -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication -XX:ReservedCodeCacheSize=512m -XX:MaxMetaspaceSize=2g -Xss2m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dapple.awt.UIElement=true org.gradle.parallel=true # Run the daemon and its workers at low OS priority so full builds don't starve # the foreground UI on developer laptops. Negligible on dedicated CI runners. org.gradle.priority=low # Studio passes -Dorg.gradle.tooling.parallel.ignore-legacy-default=true on every sync, # which strips org.gradle.parallel's implication for Tooling API model building — so IDE # sync needs this explicit opt-in. Inert while org.gradle.isolated-projects=true (that # path parallelises model building on its own) and never read by a CI build; kept so sync # stays parallel if Isolated Projects is ever off. org.gradle.tooling.parallel=true org.gradle.welcome=never