From f35e3767ad844f4ecabd5cb3469b0dfcf3aa3e2e Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 16 May 2026 14:16:44 +0000 Subject: [PATCH] build: enable parallel + build cache + Kotlin classpath snapshot Halves cold compile time for compilePlayDebugKotlin on this machine (6m25s -> 3m26s, 47% reduction): - org.gradle.parallel=true lets quic/nestsClient/commons compile concurrently once quartz is done, instead of serially. - org.gradle.caching=true lets warm cross-clean builds reuse task outputs. - kotlin.incremental.useClasspathSnapshot=true narrows the incremental recompile blast radius after dependency-jar changes. - Bumps Kotlin daemon MaxMetaspaceSize 3g -> 4g for headroom under the Compose IR phase across ~2.8K @Composable functions. Up-to-date and same-file incremental times are unchanged (~3s and ~4s) since those weren't bottlenecked by these settings. Configuration cache is NOT enabled: amethyst/build.gradle:12 runs 'git rev-parse --abbrev-ref HEAD' at configuration time, which is incompatible with the configuration cache. Migrating that to a ValueSource is a separate change. --- gradle.properties | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 424c63bbb4..dd29470d61 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,9 @@ org.gradle.jvmargs=-Xmx6g -Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true +org.gradle.parallel=true +org.gradle.caching=true +kotlin.incremental.useClasspathSnapshot=true # AndroidX package structure to make it clearer which packages are bundled with the # Android operating system, and which are packaged with your app's APK # https://developer.android.com/topic/libraries/support-library/androidx-rn @@ -23,7 +25,7 @@ kotlin.code.style=official android.nonTransitiveRClass=true android.enableR8.fullMode=true -kotlin.daemon.jvmargs=-Xmx12g -XX:MaxMetaspaceSize=3g +kotlin.daemon.jvmargs=-Xmx12g -XX:MaxMetaspaceSize=4g # because we use a custom jvmAndroid target kotlin.mpp.applyDefaultHierarchyTemplate=false