Looks like it was added accidentally in 564d382b9d; common frontend
shouldn't depend on JVM-specific modules.
Since then, it has been accidentally used in two places in
ir.serialization.common to refer to JVM specifics, and that should be
abstracted away in the future.
To avoid depending on a heavy module 'frontend' in parts of the compiler
where checking for optional annotations is needed, such as in
'ir.serialization.common'.
The comment in serialization.js/build.gradle.kts is not needed because
such dependency cannot be introduced accidentally, since Gradle does not
support cycles in module dependencies.
`intellijDep()` includes jars with JUnit3 and JUnit4. JUnit5 runner
which is used in compiler tests sees old junit on classpath and checks
if this version can be ran using Vintage test engine. Looks like recent
changes in platform changed order of this jars on classpath, so now
jar with JUnit3 is closer than JUnit4 (and they have same classes inside),
so version checker from JUnit5 observes JUnit3 and fails with error
of incompatible versions. Since old JUnits are not needed at all in those
modules now only required jars from intellijDep are included
Compilation of `:kotlin-gradle-statistics:test` is broken in gradle
too, so this module is removed from JPS to allow build project with
"Rebuild project" action
Dependency on `:kotlin-uast-base` changed to `implementation` because
project import assumes `shadow` dependency as _Provided_ instead of
_Compile_ in module structure which leads to problem that this
dependency is missing during build (this is bug inside JPS itself)
Limit use-case of UsesKotlinJavaToolchain interface to only Gradle tasks
and allow to query all tasks using
'taskContainer.withType(UsesKotlinJavaToolchain.class)'.
^KT-43095 In Progress
Add method into "kotlin" extension to set toolchain for all tasks.
This will also set toolchain for java compile tasks. Also user may
set toolchain via "java" extension and it will be applied to Kotlin
tasks as well.
^KT-43092 In Progress
Has to split jdk/toolchain setters, because, when toolchain setter is
in the 'UsesKotlinJavaToolchain', Groovy fails to create meta class
on <Gradle 6.7 with ClassNotFoundException.
^KT-43092 In Progress
The way JS compilations are mapped to task requirements were changed from `compilation` objects to compilations's `disambiguatedName` in order to support Gradle configuration cache. This may lead to implicitly adding unwanted dependencies in multi-module projects since compilation's `disambiguatedName` is unique within a module, not within a whole multi-module project.
#KT-47045 Fixed
This reverts commit 15e978dbd3.
Together with the previous revert, this led to multiple failures in
Gradle integration tests:
ConfigurationCacheIT.testIncrementalKaptProject
ConfigurationCacheForAndroidIT.testAndroidKaptProject
KotlinAndroid34GradleIT.testParcelize
KotlinAndroid34GradleIT.testAndroidExtensionsManyVariants
KotlinAndroid36GradleIT.testAndroidWithNewMppApp
KotlinAndroid36GradleIT.testParcelize
KotlinAndroid36GradleIT.testAndroidIcepickProject