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_11_0,JDK_11,\
  JDK_16_0,\
  JDK_17_0

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

cacheRedirectorEnabled=true
defaultSnapshotVersion=2.2.255-SNAPSHOT
# Controls the default Kotlin language version for all the modules
# There are some local overrides of it:
# * Convention plugin gradle-plugin-compiler-dependency-configuration.gradle.kts
# * Kotlin stdlib buildscripts
# * compiler-hosted/integration-tests/build.gradle.kts
# * `configureKotlinCompileTasksGradleCompatibility()` calls
kotlinLanguageVersion=2.2

# 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=2.1

kotlin.build.gradlePlugin.version=0.0.40

#maven.repository.mirror=http://repository.jetbrains.com/remote-repos/
#bootstrap.kotlin.version=1.1.50-dev-1451
bootstrap.kotlin.default.version=2.2.0-dev-15683

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

# 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

# suppress warning until migrated to DGPv2
org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=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
