* In Android test-related source sets, add an implementation dependency,
not an api one, because adding dependencies to the api configurations
leads to warnings from AGP
* Add the default stdlib dependency only to the Android main source set,
as duplicating it elsewhere leads to issue with publishing the project
with the `maven` plugin (duplicate conf2ScopeMappings)
* Add a DSL property `kotlin.coreLibrariesVersion` that is used as the
default version for all org.jetbrains.kotlin dependencies instead of
the plugin version used previously – the pluging version is the
default now.
* Support omitting the `kotlin-stdlib-*` dependencies in all kinds of
projects. For the JVM source sets, choose the stdlib module by
checking the jvmTarget in the compilations – if all compilations
target 8+ then use `kotlin-stdlib-jdk8`.
* Support adding a single dependency on the fake module
`kotlin-test-multiplatform` that is later expanded into the
appropriate dependencies on `kotlin-test-*` modules. For JVM source
sets, detect the test framework by inspecting the test tasks.
* (minor) Fix _executionSource not updated in KotlinJvmTestRun
* (minor) Lazily query `kotlinUsageContext`'s dependency-related
properties to avoid freezing the configurations
Issue #KT-38221 Fixed
Issue #KT-40225 Fixed
In the original fix for KT-39809, the Kapt plugin was not given a proper
empty implementation stub: it was added to `Kapt3GradleSubplugin`, while
originally the Kapt subplugin's META-INF/services entry pointed to
`Kapt3KotlinGradleSubplugin`.
This commit makes the correct class implement the legacy interface.
Issue #KT-39809 Fixed
In the `KotlinPlatformType` disambiguation rule, don't prefer `common`
when there's a `jvm` or an `androidJvm` variant, as this would conflict
with disambiguation rules created by the other plugins, such as Gradle's
`java` which will choose `org.gradle.usage=java-api` and lead to
ambiguity.
Issue #KT-32239 Fixed
This test causes a build timeouts on CI which cannot be reproduced
locally. So we disable them to not block the testing process until
a proper fix is found.
Its support complicates JS StringBuilder implementation with no actual
performance improvements. Benefits of having capacity() function
in common code are also not completely clear.
Relates to KT-33069
#KT-40168
^KT-40087 fixed
[Gradle, JS] Use runCompileSync only for run
^KT-40087 fixed
[Gradle, JS] Rename type on mode
^KT-40087 fixed
[Gradle, JS] Use explicit names in lambda
^KT-40087 fixed
kotlinx-metadata-klib can't have jvmTarget 1.6 because it embeds module
:compiler:serialization which is compiled with jvmTarget 1.8. It is
enforced by configuration error in Gradle 6.5