deploy: Add a conveyor configuration for Croiseur GUI
Context
See #25.
Conveyor is a tool that eases the creation of OS-specific installable packages. It can create packages of a JVM application (and other kinds of applications) for Windows, Mac OS and Linux.
What is nice is that it can create those packages from any of the supported OSes, meaning that one can create a Windows package from a Linux host.
I'm curious to know how they achieve that - last time I checked, the jpackage tool, which seems to be the Java way to package Java application into OS-specific packages, required build tools from the target platforms (e.g. rpmbuild
for RPM), which I thought were not all available everywhere.
Unfortunately, it is not an open source software. One could try to use a bytecode viewer to read the code - it's obviously a JVM-based application - but that is explicitly forbidden by the licence agreement.
Another point of the licence agreement is that it is required to mention somewhere on the project pages (e.g. the release page) that the published packages were built by Conveyor.
Open source software projects are, for now, automatically accorded a free licence though, which is cool.
What has changed?
Main Changes
croiseur-gui
- Added a
conveyor.conf
. - Added the Conveyor gradle plugin: It provides a task named
printConveyorConfig
which generates most of the inputs forconveyor.conf
- it can even be called fromconveyor.conf
itself.
doc
Documented the release process.
Side Effects
croiseur-gui
Resized application icon: Conveyor didn't like 507x512.
puzzle-filesystem-plugin
Use ${user.home}/croiseur/puzzles
as puzzle repository if com.gitlab.super7ramp.croiseur.puzzle.path
system property is not set.
(Because I couldn't find a way to pass system properties using other system properties/platform-specific variables in conveyor.conf
.)
dictionary-*-plugin
Added ${deployed_jar_directory}/dictionaries
and ${user.home}/croiseur/dictionaries
as dictionary sources.
(Because I couldn't find a way to pass system properties using other system properties/platform-specific variables in conveyor.conf
.)
Others
Simplified versioning: No more separated spi / common versions, it's not useful for now, it will come back later.