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
# Enable new incremental compiation
kotlin.incremental.useClasspathSnapshot=true

org.gradle.parallel=true
org.gradle.caching=true
org.gradle.kotlin.dsl.allWarningsAsErrors=true

# Please keep it in sync with buildSrc gradle.properties.
# It's currently needed for proper configuration cache work, the reason will be investigated later
org.gradle.java.installations.fromEnv=\
  JDK_1_6,JDK_16,\
  JDK_1_7,JDK_17,\
  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.0-dev-14242

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

# Enable overriding JDK 6 and JDK 7 with JDK 8 in java toolchains
# This flag is required if you don't have JDK 6 or JDK 7 manually installed
#kotlin.build.isObsoleteJdkOverrideEnabled=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

# =====================
# Enable new dependency resolution | KT-58319
kotlin.mpp.import.enableKgpDependencyResolution=true
