# TODO(https://github.com/spdx/spdx-gradle-plugin/issues/16) remove `-DSPDXParser.OnlyUseLocalLicenses=true`
org.gradle.jvmargs=-Xmx12g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -Dkotlin.daemon.jvm.options=-XX:MaxMetaspaceSize=1g,-Xmx8g -Dlint.nullness.ignore-deprecated=true -Dorg.gradle.configuration-cache.internal.report-link-as-warning=true -DSPDXParser.OnlyUseLocalLicenses=true -Dcom.android.tools.r8.enableEmptyMemberRulesToDefaultInitRuleConversion=true -Dfile.encoding=UTF-8
org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.welcome=never
org.gradle.projectcachedir=../../out/gradle-project-cache
# https://youtrack.jetbrains.com/issue/KT-58223
kotlin.project.persistent.dir=./placeholder
# Disabled due to https://github.com/gradle/gradle/issues/18626
# org.gradle.vfs.watch=true
# Reenabled in gradlew, but disabled in Studio until these errors become shown (b/268380971) or computed more quickly (https://github.com/gradle/gradle/issues/23272)
org.gradle.dependency.verification=off
org.gradle.dependency.verification.console=verbose
org.gradle.configuration-cache=true
org.gradle.configuration-cache.problems=fail
org.gradle.configuration-cache.parallel=true
org.gradle.java.installations.auto-download=false
org.gradle.java.installations.auto-detect=false
org.gradle.java.installations.fromEnv=ANDROIDX_JDK17,ANDROIDX_JDK21

# Settings that will change in AGP 9.0.0 ----------------------------
android.enableAppCompileTimeRClass=true
# TODO(aurimas): flip the rest of these flags, they fail right now
android.enableLegacyVariantApi=true
android.compatibility.enableLegacyApi=true
android.builtInKotlin=false
android.r8.strictFullModeForKeepRules=false
# -------------------------------------------------------------------

android.disableAgpUpgradePrompt=true
android.javaCompile.suppressSourceTargetDeprecationWarning=true
android.lint.baselineOmitLineNumbers=true
android.lint.printStackTrace=true
android.builder.sdkDownload=false
android.uniquePackageNames=true
android.enableAdditionalTestOutput=true
android.useAndroidX=true
android.nonTransitiveRClass=true
android.experimental.lint.missingBaselineIsEmptyBaseline=true
android.experimental.lint.reservedMemoryPerTask=1g
# Remove when AGP defaults to 2.1.0
android.prefabVersion=2.1.0

# Don't generate versioned API files
androidx.writeVersionedApiFiles=true

# Don't run the CheckAarMetadata task
android.experimental.disableCompileSdkChecks=false

# Don't warn about needing to update AGP
android.suppressUnsupportedCompileSdk=35,Baklava

androidx.compileSdk=34
androidx.latestStableCompileSdk=36
androidx.targetSdkVersion=35
androidx.allowCustomCompileSdk=true

# Disable features we do not use
android.defaults.buildfeatures.resvalues=false
android.defaults.buildfeatures.shaders=false

# Enable adding baseline-prof.txt files to AAR artifacts
android.experimental.enableArtProfiles=true
# Disables dependency constraints for libraries (b/276714425)
android.experimental.dependency.excludeLibraryComponentsFromConstraints=true
# Disallow resolving dependencies at configuration time, which is a slight performance problem
android.dependencyResolutionAtConfigurationTime.disallow=true
android.suppressUnsupportedOptionWarnings=android.suppressUnsupportedOptionWarnings,android.dependencyResolutionAtConfigurationTime.disallow,android.experimental.lint.missingBaselineIsEmptyBaseline,android.lint.printStackTrace,android.lint.baselineOmitLineNumbers,android.experimental.disableCompileSdkChecks,android.overrideVersionCheck,android.r8.maxWorkers,android.experimental.lint.reservedMemoryPerTask,android.experimental.dependency.excludeLibraryComponentsFromConstraints,android.prefabVersion,android.experimental.privacysandboxsdk.plugin.enable,android.experimental.privacysandboxsdk.requireServices,android.experimental.skipApksViaBundleIfPossible,android.enableCompileRuntimeClasspathAlignment,android.proguard.failOnMissingFiles,android.enableAppCompileTimeRClass,android.r8.optimizedResourceShrinking
# Workaround for b/162074215
android.includeDependencyInfoInApks=false
# Allow multiple r8 tasks at once because otherwise they can make the critical path longer: b/256187923
android.r8.maxWorkers=2

kotlin.stdlib.default.dependency=false
# mac targets cannot be built on linux, suppress the warning.
kotlin.native.ignoreDisabledTargets=true
# Don't use maven for downloading native prebuilts: KT-64181 b/311215561
# We should eventually set this to true and get rid of konan prebuilts
# but it does not seem possible yet.
kotlin.native.distribution.downloadFromMaven=false
kotlin.mpp.enableCInteropCommonization=true
# Suppress pointless warning about mpp being experimental
kotlin.mpp.stability.nowarn=true
# b/227307216
kotlin.mpp.absentAndroidTarget.nowarn=true
kotlin.mpp.androidSourceSetLayoutVersion=2
# Suppress warnings about https://kotl.in/hierarchy-template
kotlin.mpp.applyDefaultHierarchyTemplate=false
# Until we get a newer AGP which doesn't do this
kotlin.options.suppressFreeCompilerArgsModificationWarning=true

# Properties we often want to toggle
ksp.version.check=false

# Enable com.android.privacy-sandbox-sdk plugin
android.experimental.privacysandboxsdk.plugin.enable=true
# Allow non-shim usage
android.experimental.privacysandboxsdk.requireServices=false

# Use fast-path APKs from AGP, ensuring that single APK will be used (for FTL configs)
android.experimental.skipApksViaBundleIfPossible=true

# Annotation processors discovery from compile classpath is deprecated
kapt.include.compile.classpath=false

# Disable dependency analysis compatibility check
dependency.analysis.compatibility=NONE

# Preserve the test APKs after a test run
android.injected.androidTest.leaveApksInstalledAfterRun=true

# Fetch yarn packages from an offline mirror by default
androidx.yarnOfflineMode=true

# Remove when https://youtrack.jetbrains.com/issue/KT-70013 is fixed
org.gradle.configuration-cache.inputs.unsafe.ignore.file-system-checks=**/out/.gradle/nodejs;**/out/.gradle/yarn;**/out/.gradle/binaryen

# Use kapt with K2 compiler: https://kotlinlang.org/docs/kapt.html#annotation-processor-arguments
kapt.use.k2=true

