Github Bot
Poster of Commits
Create OS-specific builds via jpackage (#86)
* Add bin task to Gradle.
This creates a binary in build/KoLmafia/bin/KoLmafia.
This change also adds a pruneBin task which is always run. I tried to
figure out how to set up inputs / outputs, but jpackage insists on
creating the output directory itself and will generate an error if
said directory already exists.
Follow-up changes will involve tinkering with a build matrix and
looking at the resulting artifacts.
* Copy-paste build to run ./gradlew bin.
I'm not actually sure what the resulting files will look like on
Windows / Mac, so here's to hoping I can actually see the artifacts
before trying to publish them.
* Upload all artifacts, then download them.
This allows us to get all of the artifacts in one single container so
we can theoretically publish them all at once later.
* Add name, runs-on to release job.
* Bundle artifacts as zips.
We actually need everything in the generated directory, not just the
runner binary.
* Move code into build/releases, stop using wildcard.
This attempted to save maybe one level of directory nesting, which I
don't think actually matters in practice.
* Stitch everything together.
This splits the existing daily job into two targets: jar and
release. `release` in turn depends on both `jar` and `bin`.
'bin' generates files Windows.zip, Linux.zip, and macOS.zip.
* Remove extra newline.
* Use jpackage-gradle-plugin instead of exec task.
It doesn't feel appreciably different, but maybe it's more readable.
* Improve portability of jpackage task.
Mac creates the directory `build/releases/KoLmafia.app`, whereas Linux
/ Windows create `build/releases/KoLmafia`. jpackage will create all
prerequisite directories, so it's fine with either deleting the inner
directory, or its parent.
* added appVersion, mac and windows package types, and mac icon
* Add Windows icon for binary release.
This uses the existing martini glass that was the KoLmelion icon once
upon a time.
Co-authored-by: BadHorseMonkey <58645293+BadHorseMonkey@users.noreply.github.com>
View on Github
* Add bin task to Gradle.
This creates a binary in build/KoLmafia/bin/KoLmafia.
This change also adds a pruneBin task which is always run. I tried to
figure out how to set up inputs / outputs, but jpackage insists on
creating the output directory itself and will generate an error if
said directory already exists.
Follow-up changes will involve tinkering with a build matrix and
looking at the resulting artifacts.
* Copy-paste build to run ./gradlew bin.
I'm not actually sure what the resulting files will look like on
Windows / Mac, so here's to hoping I can actually see the artifacts
before trying to publish them.
* Upload all artifacts, then download them.
This allows us to get all of the artifacts in one single container so
we can theoretically publish them all at once later.
* Add name, runs-on to release job.
* Bundle artifacts as zips.
We actually need everything in the generated directory, not just the
runner binary.
* Move code into build/releases, stop using wildcard.
This attempted to save maybe one level of directory nesting, which I
don't think actually matters in practice.
* Stitch everything together.
This splits the existing daily job into two targets: jar and
release. `release` in turn depends on both `jar` and `bin`.
'bin' generates files Windows.zip, Linux.zip, and macOS.zip.
* Remove extra newline.
* Use jpackage-gradle-plugin instead of exec task.
It doesn't feel appreciably different, but maybe it's more readable.
* Improve portability of jpackage task.
Mac creates the directory `build/releases/KoLmafia.app`, whereas Linux
/ Windows create `build/releases/KoLmafia`. jpackage will create all
prerequisite directories, so it's fine with either deleting the inner
directory, or its parent.
* added appVersion, mac and windows package types, and mac icon
* Add Windows icon for binary release.
This uses the existing martini glass that was the KoLmelion icon once
upon a time.
Co-authored-by: BadHorseMonkey <58645293+BadHorseMonkey@users.noreply.github.com>
View on Github