# TODO(https://github.com/spdx/spdx-gradle-plugin/issues/16) remove `-DSPDXParser.OnlyUseLocalLicenses=true`
org.gradle.jvmargs=-Xmx8g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -Dkotlin.daemon.jvm.options=-XX:MaxMetaspaceSize=1g -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.java.installations.auto-download=false
org.gradle.java.installations.auto-detect=false
org.gradle.java.installations.fromEnv=ANDROIDX_JDK17,ANDROIDX_JDK21

android.javaCompile.suppressSourceTargetDeprecationWarning=true
android.lint.baselineOmitLineNumbers=true
android.lint.printStackTrace=true
# b/271371556
android.lint.useK2Uast=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=35
androidx.targetSdkVersion=34
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.lint.useK2Uast,android.experimental.skipApksViaBundleIfPossible
# 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
