f35e3767ad
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.
34 lines
1.7 KiB
Properties
34 lines
1.7 KiB
Properties
# Project-wide Gradle settings.
|
|
# IDE (e.g. Android Studio) users:
|
|
# Gradle settings configured through the IDE *will override*
|
|
# any settings specified in this file.
|
|
# For more details on how to configure your build environment visit
|
|
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
|
# Specifies the JVM arguments used for the daemon process.
|
|
# The setting is particularly useful for tweaking memory settings.
|
|
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.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
|
|
android.useAndroidX=true
|
|
# Kotlin code style for this project: "official" or "obsolete":
|
|
kotlin.code.style=official
|
|
# Enables namespacing of each library's R class so that its R class includes only the
|
|
# resources declared in the library itself and none from the library's dependencies,
|
|
# thereby reducing the size of the R class for that library
|
|
android.nonTransitiveRClass=true
|
|
android.enableR8.fullMode=true
|
|
|
|
kotlin.daemon.jvmargs=-Xmx12g -XX:MaxMetaspaceSize=4g
|
|
|
|
# because we use a custom jvmAndroid target
|
|
kotlin.mpp.applyDefaultHierarchyTemplate=false
|
|
|
|
# This is needed for the Swift bridge to work.
|
|
kotlin.mpp.enableCInteropCommonization=true |