org.gradle.parallel=true
org.gradle.configureondemand=false
org.gradle.caching=true

# Enable filesystem watching
org.gradle.vfs.watch=true

# Disable cache-fix version warning
systemProp.org.gradle.android.cache-fix.ignoreVersionCheck=true

# Enable experimental configuration caching
org.gradle.configuration-cache=true
org.gradle.configuration-cache.problems=warn
org.gradle.configuration-cache.max-problems=2
org.gradle.configuration-cache.parallel=true

# Set JVM heap size to 3G
org.gradle.jvmargs=-Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options=-Xmx1500m,Xms500m

# Enable Kotlin incremental compilation
kotlin.incremental=true

# Kotlin code style
kotlin.code.style=official

# New incremental compilation for Kotlin
kotlin.compiler.suppressExperimentalICOptimizationsWarning=true
kotlin.build.report.output=file

# Enable AndroidX
android.useAndroidX=true

# Disable mostly unused default Android build features
android.defaults.buildfeatures.resvalues=false
android.defaults.buildfeatures.shaders=false
android.library.defaults.buildfeatures.androidresources=false

# Disallow resolution of dependencies at configuration time
android.dependencyResolutionAtConfigurationTime.disallow=true

# Disallow parsing the manifest too early in the build process
android.disableEarlyManifestParsing=true

android.sdk.defaultTargetSdkToCompileSdkIfUnset=true
android.enableAppCompileTimeRClass=true
android.usesSdkInManifest.disallowed=true
android.uniquePackageNames=true
android.r8.strictFullModeForKeepRules=true
android.r8.optimizedResourceShrinking=true
android.builtInKotlin=true
android.newDsl=true

# Disable warnings about unsupported features
android.suppressUnsupportedOptionWarnings=android.suppressUnsupportedOptionWarnings,android.dependencyResolutionAtConfigurationTime.disallow,android.disableEarlyManifestParsing

# Version Catalog Update Plugin workarounds and fixes
systemProp.javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
systemProp.javax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
systemProp.javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
nl.littlerobots.vcu.resolver=true
