* Always write external tool output logs to files
Previous implementation always passed an empty string to `processStdout`,
when verbose mode was used.
* Print notarization status in non-verbose mode too
* Fix uninitialized lateinit var property exceptions on Linux and Windows
lateinit property nonValidatedMacSigningSettings
was not initialized on Linux and Windows
* Revert reusing app image when creating installer
Previously there was a change to reuse an app image, when creating an installer.
So packaging would happen in two steps:
1. jpackage --type app-image ...
2. jpackage --type msi --app-image /path/to/app/image ...
This way a user could always conveniently inspect, what goes into an installer.
However, that change lead to bizzare crashes on Windows and Linux.
As a workaround, this change reverts reusing an app image,
when creating an installer.
* Fix args filtering when invoking jpackage
"app-image" args can also be used, when creating an installer
w/o predefined app image (e.g. w/o `--app-image ...` argument)
* Fix deb package name for tests on Linux
This change speeds up incremental build of
an application image.
For example, for one (relatively small) tested application
the overall time spent on creating binary images in incremental case
(after one file change) went from ~5 seconds down to 1.4 seconds
(non-rigorous benchmark using a relatively fast 8-core 2.3Ghz i9 MBP).
Useful for troubleshooting and experimentation
(e.g. re-run tool in CLI with different args).
To enable:
* Add 'compose.preserve.working.dir=true' to gradle.properties;
* Add '-Pcompose.preserve.working.dir=true' to CLI args.
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
For some reason, the compiler failed to resolve the method reference correctly.
Also minor fix for `executable` property (the code was red in IDE, but compiled).
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.