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;
* 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.