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>
This PR prepares the IJ plugin to be fixed/improved upon by a follow-up
PR, by:
1. Migrating to IJP Gradle plugin 2.1
2. Upgrading Gradle to 8.10
3. Bumping IJ target to 2024.2.1
4. Cleaning up after migration
---------
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
The build `0.4.0-build182` upgrades
`kotlinx-collections-immutable` library
(which is used by the compose runtime) to 0.3.4,
which was published to maven central,
so most usages of sunsetting jcenter repo
can be removed now.
Resolves#557