org.gradle.jvmargs=-Duser.country=US -Dfile.encoding=UTF-8 -Dorg.gradle.internal.publish.checksums.insecure=true

systemProp.file.encoding=UTF-8
systemProp.user.country=US
systemProp.org.gradle.internal.publish.checksums.insecure=true
# Enable new incremental compiation
kotlin.incremental.useClasspathSnapshot=true

org.gradle.parallel=true
org.gradle.caching=true
org.gradle.configuration-cache=true
org.gradle.kotlin.dsl.allWarningsAsErrors=true

# Please keep it in sync with repo/gradle-build-conventions/gradle.properties.
# It's currently needed for proper configuration cache work, the reason will be investigated later
org.gradle.java.installations.fromEnv=\
  JDK_1_8,JDK_18,\
  JDK_9_0,JDK_9,\
  JDK_10_0,JDK_10,\
  JDK_11_0,JDK_11,\
  JDK_15_0,JDK_15,\
  JDK_16_0,\
  JDK_17_0

systemProp.org.gradle.internal.http.connectionTimeout=90000
systemProp.org.gradle.internal.http.socketTimeout=90000

cacheRedirectorEnabled=true
defaultSnapshotVersion=2.0.255-SNAPSHOT
kotlinLanguageVersion=2.0

# Should be less or equal to the Kotlin stdlib version used inside IntelliJ IDEA repository, see KT-62510.
# IntelliJ IDEA Kotlin stdlib version can be found at https://github.com/JetBrains/intellij-community/blob/master/.idea/libraries/kotlin_stdlib.xml
kotlinApiVersionForProjectsUsedInIntelliJKotlinPlugin=1.9

kotlin.build.gradlePlugin.version=0.0.40

#maven.repository.mirror=http://repository.jetbrains.com/remote-repos/
#bootstrap.kotlin.repo=https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap
#bootstrap.kotlin.version=1.1.50-dev-1451
bootstrap.kotlin.default.version=2.0.20-dev-6501

kotlin.build.publishing.attempts=20
#signingRequired=true

## The following properties can be added to your local.properties file to customize the build:

kotlin.jvm.target.validation.mode=error
kotlin.options.suppressFreeCompilerArgsModificationWarning=true

#attachedIntellijVersion=203 (or any other platform version)

## Used for compare gradle and jps build

#kotlin.build.postprocessing=false
#kotlin.build.java9=false
#kotlin.build.useBootstrapStdlib=true

# Don't add the Kotlin standard library dependencies by default
# TODO: add this flag in a granular way to the modules that don't need stdlib?
kotlin.stdlib.default.dependency=false
kotlin.js.stdlib.dom.api.included=false

# Suppress warnings about using deprecated and unstable plugins in kotlin-stdlib
kotlin.internal.mpp12x.deprecation.suppress=true
kotlin.mpp.stability.nowarn=true
kotlin.wasm.stability.nowarn=true
kotlin.js.compiler.nowarn=true

# Suppress the build tools API version consistency checks because of workaround.
# Check out bootstrapCompilerClasspath and bootstrapBuildToolsApiClasspath configurations for details.
kotlin.internal.suppress.buildToolsApiVersionConsistencyChecks=true

kotlin.native.enabled=false

org.gradle.vfs.watch=true

kotlin.build.internal.gradle.setup=true

# Enable JPS build
#jpsBuild=true

# Enable compilation of project using FIR compiler
#kotlin.build.useFir=true

# Enable FIR compiler for kotlin-stdlib, kotlin-reflect, kotlin-test.
#kotlin.build.useFirForLibraries=true

# Disable -Werror compiler flag
#kotlin.build.disable.werror=true

# Render internal diagostic names
#kotlin.build.render.diagnostic.names=true

# Enable bootstrap from local build of compiler (build from ./gradlew publish)
#bootstrap.local=true
# By default bootstrap compiler is located in ./build/repo directory
# If it differs from default use next flag:
#bootstrap.local.path=/path/to/repo

# Set number of threads which are used for running JUnit 5 tests in concurrent mode
#  If not set then min(number of CPU cores, 16) will be used
#kotlin.test.junit5.maxParallelForks=4

# Those properties are used to automatically generate run configurations for modularized
#    and full pipeline tests for different sets of test data
#  Generate ModularizedTest configurations
#kotlin.fir.modularized.mt.configurations=true
#  Generate FullPipeline configurations
#kotlin.fir.modularized.fp.configurations=true
#  Generate additional configurations for Kotlin project
#kotlin.fir.modularized.additional.configurations
#  Specify paths to projects for modularized tests
#kotlin.fir.modularized.testdata.kotlin=/path/to/kotlin/project/testdata
#kotlin.fir.modularized.testdata.intellij=/path/to/intellij/project/testdata
#kotlin.fir.modularized.testdata.youtrack=/path/to/youtrack/project/testdata
#kotlin.fir.modularized.testdata.space=/path/to/space/project/testdata

# =====================
# JS & Wasm Tests
# Any property whose name starts with "fd." will be forwarded to unit test process without "fd." prefix and the same value,
# including properties from root local.properties.

# The property to control IR dump strategy.
# For `KotlinLike` it uses `e.dumpKotlinLike()` which is more readable & concise but may omit some information,
# otherwise "classic" `e.dump()` which is more verbose.
#fd.org.jetbrains.kotlin.compiler.ir.dump.strategy=KotlinLike

# Customize wasm unit test runner, possible values:
# * none | false | 0 (default)
#   - Do nothing special.
# * debug | true | 1
#   - Prints paths to current test's kt file and other generated files.
#   - Generates .wat file.
#   - Generate html file to run a test inside browser.
#   - Generate verbose js for running a test (log "test passed").
# * super_debug | 2
#   - All from previous.
#   - Dump IR after each phase.
#fd.kotlin.wasm.debugMode=debug
