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-7674

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
kotlin.native.home=kotlin-native/dist

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
