r25751 - Create OS-specific builds via jpackage (fia/pull/86']#86) * Add bin task to Gradle. This creat

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
 

fewyn

Administrator
Staff member
I attempted to run this on Windows just to see if this would build but it doesn't seem like the build target was put in.

Bash:
C:\Users\fewyn\Documents\GitHub\kolmafia-mafia>gradlew.bat bin

FAILURE: Build failed with an exception.

* What went wrong:
Task 'bin' not found in root project 'KoLmafia'.

* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 1s

C:\Users\fewyn\Documents\GitHub\kolmafia-mafia>
 

fewyn

Administrator
Staff member
Managed to get this running and installed on Windows 10 and built with Java 16 (after installing wix). Enabled adding a shortcut and turned on the console since it was erroring out.

Bash:
C:\Program Files\KoLmafia>KoLmafia.exe

KoLmafia r25754-M
Build main e18ad417d78fd8e5e69e5be5f5ad5d0187df0a54 16.0.1 (AdoptOpenJDK openj9-0.26.0) Windows 10 amd64 10.0

Currently Running on Windows 8
Local Directory is C:\Program Files\KoLmafia
Using Java 16.0.1

java.io.IOException: The system cannot find the path specified
        at java.base/java.io.File.createNewFile(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getInputStream(DataUtilities.java:243)
        at net.sourceforge.kolmafia.preferences.Preferences.loadPreferences(Preferences.java:225)
        at net.sourceforge.kolmafia.preferences.Preferences.loadGlobalPreferences(Preferences.java:158)
        at net.sourceforge.kolmafia.preferences.Preferences.<clinit>(Preferences.java:61)
        at net.sourceforge.kolmafia.swingui.menu.PartialMRUList.update(PartialMRUList.java:122)
        at net.sourceforge.kolmafia.swingui.menu.PartialMRUList.<init>(PartialMRUList.java:37)
        at net.sourceforge.kolmafia.KoLConstants.<clinit>(KoLConstants.java:117)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:238)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\settings\GLOBAL_prefs.txt (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open0(Native Method)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.preferences.Preferences.saveToFile(Preferences.java:711)
        at net.sourceforge.kolmafia.preferences.Preferences.setObject(Preferences.java:664)
        at net.sourceforge.kolmafia.preferences.Preferences.setString(Preferences.java:603)
        at net.sourceforge.kolmafia.preferences.Preferences.setString(Preferences.java:384)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:445)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\settings\GLOBAL_prefs.txt (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.preferences.Preferences.saveToFile(Preferences.java:711)
        at net.sourceforge.kolmafia.preferences.Preferences.setObject(Preferences.java:664)
        at net.sourceforge.kolmafia.preferences.Preferences.setInteger(Preferences.java:617)
        at net.sourceforge.kolmafia.preferences.Preferences.setInteger(Preferences.java:400)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:446)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\afterlife.ash (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\barrel_sounds.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\basement.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\basics.1.css (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\basics.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\chat.html (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\cli.html (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\combatfilter.1.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\hotkeys.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\ircm_extend.3.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\macrohelper.5.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\onfocus.1.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\sorttable.2.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\stationarybuttons.2.css (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\relay\stationarybuttons.2.js (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.utilities.FileUtilities.loadLibrary(FileUtilities.java:164)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:32)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
java.io.FileNotFoundException: C:\Program Files\KoLmafia\settings\GLOBAL_prefs.txt (The system cannot find the path specified)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:385)
        at net.java.dev.spellcast.utilities.DataUtilities.getOutputStream(DataUtilities.java:371)
        at net.sourceforge.kolmafia.preferences.Preferences.saveToFile(Preferences.java:711)
        at net.sourceforge.kolmafia.preferences.Preferences.setObject(Preferences.java:664)
        at net.sourceforge.kolmafia.preferences.Preferences.setString(Preferences.java:603)
        at net.sourceforge.kolmafia.preferences.Preferences.setString(Preferences.java:384)
        at net.sourceforge.kolmafia.webui.RelayServer.<init>(RelayServer.java:35)
        at net.sourceforge.kolmafia.webui.RelayServer.<clinit>(RelayServer.java:27)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:180)
        at net.sourceforge.kolmafia.RequestLogger.printLine(RequestLogger.java:94)
        at net.sourceforge.kolmafia.KoLmafia.checkDataOverrides(KoLmafia.java:452)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:268)
Exception in thread "main" java.lang.NullPointerException: Cannot read the array length because "files" is null
        at net.sourceforge.kolmafia.request.RelayRequest.clearImageDirectory(RelayRequest.java:597)
        at net.sourceforge.kolmafia.request.RelayRequest.clearImageCache(RelayRequest.java:609)
        at net.sourceforge.kolmafia.KoLmafia.main(KoLmafia.java:279)
Failed to launch JVM
 

fewyn

Administrator
Staff member
This is resolved if you run the exe as an admin, in Windows 10 the program files directory is locked down and won't allow the program to create files if not run with the right settings or admin rights.

Enabling winDirChooser = 'true' and then installing it anywhere else will allow it to run as expected.
 
Top