Using one version of Gradle improves build
performance and dev experience by
reusing Gradle daemons, using less storage
& copying for Gradle cache, etc
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
* 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
* Replace usage of 'de.fuerstenau.buildconfig'
with a custom replacement, because the plugin
does not support Gradle 7.0+ and
there has not been any commit activity in 5 years
(https://github.com/mfuerstenau/gradle-buildconfig-plugin);
* Update 'com.github.johnrengelman.shadow' to 7.0.0
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