Initially, the library (javaslang) was brought with
Kotlin compiler parts and now it's being updated to
its new reincarnation (vavr) which resolves
ClassLoader-related issue in the compiler (see KT-63502).
Thus, we replace it in the IJ repository, too.
GitOrigin-RevId: 4c38150565911aed57bfbf0933ac09c14a68d2fb
Some facts:
1. Kotlin plugin bundles own version of kotlin-stdlib and reflect (see KotlinPluginBuilder.groovy).
We bundle own version of stdlib and reflect (but not use the one which comes with IDEA) because
otherwise we would have runtime errors in compiler frontend which we depend on
(kotlinc.kotlin-compiler)
2. Kotlin plugin exists in two release cycles. We have special `kt-xxx-[kotlin_compiler_version]`
branches (e.g. kt-212-1.5.30 branch) in the repository where we put Kotlin plugin fixes which
should be delivered in KT release cycle.
2.1 The fact that we publish Kotlin plugin artifacts to marketplace from special kt-branches
leads to the fact that stdlib may be different in Kotlin plugin and IntelliJ IDEA. By
separating `kotlin-stdlib-jdk8` and `kotlinc.kotlin-stdlib` we make it obvious that Kotlin
plugin has it's own stdlib
This commit fixes broken incremental compilation in kt-212-master
on TeamCity because now we have to bootstrap only kotlinc.kotlin-stdlib.
Previously, we had to bootstrap kotlin-stdlib-jdk8 which caused problems
with incremental compilation because whole monorepo depends on this artifact.
Also now during kotlinc updates in `intellij/master` we don't have to update kotlin-stdlib-jdk8
every time to keep kotlinc version the same among different imls/xmls in the monorepo
https://jetbrains.team/im/code/258iod1xjiFZ?message=BK9Aq0SIM1A&channel=152Z1w0RwrFp
(cherry picked from commit 23b2a70604c5c578983b0d76cb8634b9ed301a59)
GitOrigin-RevId: 773c01c405f2eb9db8d88ce3c58e4bdcee66c085
This makes Kotlin resolve possible to resolve from libraries (kotlinc libraries in our case)
to sources (IJ platfrom sources in our case). See - KT-24309
This commit fixes unresolved references (of classes from kotlinc) in IDE
Q: Why do we need `community/plugins/kotlin/kotlin-compiler-classpath/src/.gitkeep`?
A: Because if anchor module doesn't have source root then kotlin resolve ignores this module
GitOrigin-RevId: d01be9c4e511c399a0e5f33bbea85709ebb44a28
This commit is part of series of project model refactoring commits, look at neighborhood commits.
Check out last commits in this sequence.
These commit are done for sake of unification and making it easier to write cooperative compilation
prototype.
GitOrigin-RevId: 4ec18be4192e6ea9fe93f14e3e9fac83cec68c91
The anchor module is needed for both '/' (Ultimate-based) and 'kotlin/' (Community-based) repositories.
The latter contains only the kotlin/ subdirectory, and it's impossible to refer to modules in tools/.
GitOrigin-RevId: be684d801e4fdc137276c32baddc85022b77244a