As the plugin gradually becomes separated to common and frontend-dependent parts, it is important to understand which modules use the old frontend. Without dependency exporting, figuring it out becomes a trivial task.
GitOrigin-RevId: 6ef2da11b5e6f03b38b325fa0824bd79935eff29
The library is not used anywhere in the plugin, it was added by mistake as a (false) counterpart of kotlin-scripting-compiler-impl. See 4a9d4e06b99dbfe794b3072b59aec559381ecdcf for more information.
GitOrigin-RevId: 9bb9579dd02e0e33b42a15ba180102d88d2eee35
Adapt the Lombok IDE support module to the new plugin model,
separating modules for Maven and Gradle support.
GitOrigin-RevId: d8d4b91be1feea2b6a6c671ca625a72d8bdd8d33
imls shouldn't be in same directory otherwise it's not
possible to generate build.gradle.kts files from imls
GitOrigin-RevId: 9a611fe57b7665e5fbf25cbed38b965a700dd4fe
Kotlin JPS plugin is going to be migrated to Kotlin repo (in scope of KTIJ-11633),
so let's replace all dependencies on sources with dependencies on binaries
GitOrigin-RevId: 83fa7ffc92b40fc9740d103013ef3341068593b5
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
KotlinPluginInternalApi annotation was replaced by generic IntellijInternalApi, which can be used in other plugins as well. So it becomes possible to use Kotlin compiler settings from the project configuration in almost all modules from Kotlin plugin, making Kotlin facets in these modules unnecessary. Removal of Kotlin facets simplifies project configuration and makes it easier to change settings of Kotlin compiler.
GitOrigin-RevId: 17590fab5769e3b79f47adb2af41b1dbcebf6e0a
Kotlin 1.5 doesn't write tag for 'jvmTarget' option if its value is '1.8', and does write it if its value is '1.6', so this change is needed to avoid modified iml files if the project is opened with Kotlin plugin 1.5 (see KTIJ-19019).
GitOrigin-RevId: 8fc21bf185ac8c23675123b904f25af5defcc98e
IDEA uses strict format when it saves module configuration, and it's better to follow it, otherwise developers may get unexpected modified iml files in their working copies.
GitOrigin-RevId: 40ae2f9feb02b86b09588a04ae127532be6f99e9
This commit is required to split big idea module into smaller modules for more
precise dependency configurations in order to get rid of circular dependencies
with kotlin.idea module
Before this commit:
```
Project kotlin-ide: there is circular dependency between tests of 'kotlin.tests-common' module,
tests of 'kotlin.j2k.old' module, tests of 'kotlin.core' module, tests of 'kotlin.maven' module,
tests of 'kotlin.gradle.gradle-tooling' module, tests of 'kotlin.test-framework' module,
tests of 'kotlin.compiler-plugins.kotlinx-serialization' module,
tests of 'kotlin.compiler-plugins.parcelize' module, tests of 'kotlin.compiler-plugins.allopen' module,
tests of 'kotlin.compiler-plugins.noarg' module, tests of 'kotlin.gradle.gradle-idea' module,
tests of 'kotlin.gradle.gradle-native' module, tests of 'kotlin.native' module,
tests of 'kotlin.j2k.new' module, tests of 'kotlin.idea' module, tests of 'kotlin.uast.uast-kotlin' module
```
After this commit:
```
Project kotlin-ide: there is circular dependency between tests of 'kotlin.tests-common' module,
tests of 'kotlin.j2k.old' module, tests of 'kotlin.core' module, tests of 'kotlin.maven' module,
tests of 'kotlin.gradle.gradle-tooling' module, tests of 'kotlin.test-framework' module,
tests of 'kotlin.native' module, tests of 'kotlin.j2k.new' module,
tests of 'kotlin.idea.tests' module, tests of 'kotlin.uast.uast-kotlin' module
```
GitOrigin-RevId: 9a2c7d1a6e542126b74fbaae64e0bdbaa4648c43
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
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: 674810b0a5d5624ba381cfbbbe5d8b8b0e5c5cc9