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.
This commit is contained in:
Claude
2026-05-16 14:16:44 +00:00
parent f8dd5b61a6
commit f35e3767ad
+4 -2
View File
@@ -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