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>")
}
```
6.4 is not supported by kotlin-gradle-plugin 1.7.0.
6.7.1 is supposed to be the min. supported version by kotlin-gradle-plugin 1.7.0. Despite that, the tests failed.
Tests pass with 7.1.1 and 7.3.3
* Minor: add cleanDirs util
* Generate constant for gradle plugin version
* Unpack icons using task instead of lazy property
Resolves#960
* Introduce K/N Desktop packaging for Mac
* Tests stopped compiling after preview RPC was embedded,
because compileOnly dependencies are not visible to tests;
* Local test runs were broken, because the default
compose.version (1.0.0-alpha4-build328) is not compatible
with Kotlin 1.5.31 (compose.version is always overridden on CI,
so CI runs work);
* 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
`withJava()` is removed from MPP test, because our tests don't contain Java,
but the latest stable version of Kotlin fails with exceptions,
when Gradle 7.0 is used. The issue is fixed in Kotlin's master:
297aa17b6e
Previously some tests (e.g. FileHashTest) were executed
multiple times in each test task.
This change splits tests in the following way:
* `testGradle-<VERSION>` task only runs `org.jetbrains.compose.gradle.*` tests
with the corresponding Gradle version;
* `test` runs all other tests once;
* `check` runs all tests and checks;
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.