By default, the Compose Multiplatform Gradle plugin
uses `org.jetbrains.compose.compiler:compiler:<COMPOSE_VERSION>`
as a compiler plugin .
However, a new version of Kotlin might be incompatible with
the default version of compiler plugin. Previously, that forced
users to update to a new version of Compose Gradle plugin & Compose libraries
in order to use a new version of Kotlin. Accordingly, Compose framework developers
had to release a new version of all libraries, when a new version of Kotlin is released.
Some time ago the Compose team at Google made it possible to update a compiler plugin
without updating the Gradle plugin and/or all Compose libraries
https://developer.android.com/jetpack/androidx/releases/compose-kotlin
This change allows to specify a custom compiler artifact by using the following DSL:
```
compose {
kotlinCompilerPlugin.set("<VERSION<")
// or
kotlinCompilerPlugin.set("<GROUP_ID>:<ARTIFACT_ID>:<VERSION>")
}
```
* Update Gradle plugin publishing plugin
0.17.0 increases the maximum length
of plugin version strings to 50 characters
* Update website on plugin portal
* switching to oel compose branch
* Implementation of OEL publishing
* Changed based on Code Review
* Revert `support` folder
Co-authored-by: Igor Demin <igordmn@gmail.com>
* 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
There are two versions used in the Gradle plugin:
* The version of the plugin itself;
* The version of Compose dependency used by the plugin.
On CI both versions are set to the same value specific to the build.
However, locally using 0.1.0-SNAPSHOT for the Compose version is inconvenient,
because we don't publish 0.1.0-SNAPSHOT anywhere.
Even if it existed, a moving version is not convenient for using in tests.
This commit changes version handling:
* The version of Compose is set via `compose.version` Gradle property
to the latest stable version, unless overridden by
`COMPOSE_GRADLE_PLUGIN_COMPOSE_VERSION` env. var.
* The version of the plugin is set via `deploy.version`
Gradle property to 0.1.0-SNAPSHOT,
unless overridden by `COMPOSE_GRADLE_PLUGIN_VERSION` env. var