#
# Copyright 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Properties that are copied from main properties file
# We set playground properties in two steps:
# * This file is linked into gradle.properties under the project and limited to
#   just copying properties from the androidx properties file without any change.
#   Its integrity is validated as part of the buildOnServer task in AndroidX.
#   (validatePlaygroundGradleProperties task)
# * Additional settings are in playground.properties which are loaded dynamically
# This separation is necessary to ensure gradle can read certain properties
# at configuration time.

org.gradle.jvmargs=-Xmx4g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -XX:MaxMetaspaceSize=512m -Dkotlin.daemon.jvm.options=-XX:MaxMetaspaceSize=1g -Dlint.nullness.ignore-deprecated=true
org.gradle.configureondemand=true
org.gradle.parallel=true
org.gradle.caching=true
# Disabled due to https://github.com/gradle/gradle/issues/18626
# org.gradle.vfs.watch=true
org.gradle.dependency.verification.console=verbose
org.gradle.configuration-cache=true
org.gradle.configuration-cache.problems=fail

android.lint.printStackTrace=true
android.uniquePackageNames=false
android.enableAdditionalTestOutput=true
android.useAndroidX=true
android.nonTransitiveRClass=true
android.experimental.lint.missingBaselineIsEmptyBaseline=true

# Generate versioned API files
androidx.writeVersionedApiFiles=true

androidx.compileSdkVersion=android-34
androidx.targetSdkVersion=34

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

# Enable adding baseline-prof.txt files to AAR artifacts
android.experimental.enableArtProfiles=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
# Workaround for b/162074215
android.includeDependencyInfoInApks=false

kotlin.stdlib.default.dependency=false
# mac targets cannot be built on linux, suppress the warning.
kotlin.native.ignoreDisabledTargets=true
kotlin.mpp.enableCInteropCommonization=true
# Suppress pointless warning about mpp being experimental
kotlin.mpp.stability.nowarn=true
# b/227307216
kotlin.mpp.absentAndroidTarget.nowarn=true
# As of October 3 2022, AGP 7.4.0-alpha08 is higher than AGP 7.3
# Presumably complains if using a non-stable AGP, which we are regularly doing to test pre-stable.
kotlin.mpp.androidGradlePluginCompatibility.nowarn=true

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

kotlin.mpp.androidSourceSetLayoutVersion=1
