This PR makes the IJ plugin run in K2 mode with the new Analysis APIs,
instead of the old K1 APIs. It also includes cleaning up a bunch of
compiler warnings, and some mistakes I saw when migrating to K2.
---------
Co-authored-by: Victor Kropp <victor.kropp@jetbrains.com>
* Set 2022.1.1 as base IJ version
Stable AS is based on 2022.1.1 now,
so we can drop supporting 2021.3
* Update IDE plugin target bytecode version to 11
When 2022.1 is used as a base for IDE plugin,
inline functions from the platform
& the bundled Kotlin plugin cannot be used
unless target bytecode version is set to 11.
* Update Intellij SDK Gradle plugin
* Check editor is not disposed before showing preview toolbar
#2663
* Add preview caret listener only to main editor
Previously we unset until-build in DSL.
However, Intellij SDK Gradle plugin DSL
does not support setting only since-build,
while omitting until-build.
So we effectively made the plugin
compatible with a single version of Intellij.
This change fixes that by disabling patching
since-build/until-build from DSL and setting
since-build version directly in plugin.xml
* Update Intellij Gradle plugin
* Drop support for Intellij < 2021.3
The latest stable Android Studio (Dolphin) is based on 2021.3,
so we can drop support for older versions.
* Remove usages of deprecated Intellij APIs
* Remove upper Intellij version limit
* Fix compatibility with Intellij 2021.3
Resolves#1373
* Use Java reflection
* Set Java source & target compatibility for build helpers
Otherwise, Gradle might set Gradle metadata attributes in such way,
that transitive dependencies of published modules are not resolved
* Configure shadow jar manually
Applying plugin configures additional publication,
so that both .jar and -shadow.jar are published,
and additional configurations are added to Gradle metadata.
To avoid unexpected metadata resolution results,
ShadowJar task is now configured manually
* Fix closeStagingRepo JSON request
* Update publishing build-helpers in compose
* Activate preview toolwindow on receiving preview configuration
* Don't show preview toolwindow until a preview is requested
* Add icon to preview toolwindow