* Revert public API changes (introduced in previous commit)
* Make it work not only for converting from Java to Kotlin
* Add a test
^KTIJ-26829
GitOrigin-RevId: 16560480542e6a060f4936475a7ff1d440a18cc5
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
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