Changes:
- update all examples to Kotlin 2.0
- migrate to using kotlin("plugin.compose") for Compose compiler
configuration
- remove deprecated Compose Web gradle API usages
- added a workaround for
https://github.com/JetBrains/compose-multiplatform/issues/4848 in
Jetsnack example
Testing:
- `./gradlew build` in every example
- run some examples in simulators (or desktop, browser)
* Update examples to Gradle 7.3.3
Resolves#1654
* Update compose and agp in examples
Resolves#1117
* Fix gradle plugins classloading in examples and templates
* Make falling balls mpp compatible with examples checker
Remove:
```
__LATEST_COMPOSE_RELEASE_VERSION__
__KOTLIN_COMPOSE_VERSION__
System.getenv("COMPOSE_TEMPLATE_COMPOSE_VERSION")
```
They pollute templates/examples.
Now, all paths where we need to change the version are hardcoded in the script.
Usage:
```
./replace.sh 1.0.0-rc6
```
This script is planned to run on CI
In the future I will add support for changing Kotlin version
* Update widgets gallery examples
* Update notepad example
* Update issues example
This change updates:
* Gradle to 7.1.1;
* AGP to 7.0.0;
* Compose to 1.0.0-alpha1-rc1;
* Kotlin to 1.5.21.
* Update image viewer example
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
The verb `update` in `__UPDATE_COMPOSE_VERSION_MARKER__`
could be read as an instruction to update the plugin,
which might be confusing for users.
I suggest renaming the marker to more neutral
`__LATEST_COMPOSE_RELEASE_VERSION__`
This change removes `org.jetbrains.compose.desktop.application` plugin id
in favor of doing everything in `org.jetbrains.compose`.
The change simplifies configuring Compose Desktop projects.
Now, just one plugin dependency is needed.
To avoid task name conflicts with common task names such as `package` and `run`,
the plugin creates tasks lazily only if `application` block/property is used in a script.