Files

44 lines
2.2 KiB
Properties

# --- Android build features ---
android.defaults.buildfeatures.resvalues=false
android.defaults.buildfeatures.shaders=false
# Lint analysis runs in its own worker, so neither org.gradle.jvmargs nor
# kotlin.daemon.jvmargs applies to it. The default heap OOMs on a cold analysis.
android.experimental.lint.heapSize=3G
# --- Compose ---
android.experimental.enableScreenshotTest=true
compose.hot.reload=true
enableComposeCompilerMetrics=false
enableComposeCompilerReports=false
# --- Kotlin ---
kotlin.code.style=official
# Only kotlin.daemon.jvmargs is read from here; kotlin.daemon.jvm.options is a system
# property. Unset, the daemon inherits org.gradle.jvmargs' 8g and over-commits CI runners.
kotlin.daemon.jvmargs=-Xmx6g -XX\:+UseG1GC -XX\:SoftRefLRUPolicyMSPerMB=1 -XX\:ReservedCodeCacheSize=320m -XX\:+HeapDumpOnOutOfMemoryError
kotlin.daemon.useFallback=false
# The Kotlin/Native compiler runs in its own JVM, governed by neither of the heaps
# above. Its 3g default OOMs compiling every module for iOS from a cold cache.
kotlin.native.jvmArgs=-Xmx5g -XX\:+UseG1GC -XX\:+HeapDumpOnOutOfMemoryError
# --- 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