Workaround a jansi bug with Windows

Update Paperclip too while we're here
This commit is contained in:
Shane Freeder 2017-05-17 17:51:42 -05:00 committed by Zach Brown
parent 1a7f1c5828
commit ca6254067f
No known key found for this signature in database
GPG key ID: CC9DA35FC5450B76
2 changed files with 30 additions and 1 deletions

View file

@ -0,0 +1,29 @@
From 623e6cf1ce179cf97a4c030edfb5671ace6ba6d9 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Wed, 17 May 2017 17:45:19 -0500
Subject: [PATCH] Workaround for jansi bug with Windows
When jansi attempts to extract its natives, by default it tries to extract a specific version
using the loading class's implementation version. Normally this works completely fine
however when on Windows certain characters such as - and : can trigger special behaviour.
Furthermore this behaviour only occurs in specific combinations due to the parsing done by jansi.
For example test-test works fine, but test-test-test does not! In order to avoid this all together but
still keep our versions the same as they were, we set the override property to the essentially garbage version
Paper. This version is only used when extracting the libraries to their temp folder.
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 33e5dd504..a2f1eb7eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -182,6 +182,7 @@ public class Main {
}
if (useJline) {
+ System.setProperty( "library.jansi.version", "Paper" ); // Paper - set jansi library version to avoid crash
AnsiConsole.systemInstall();
} else {
// This ensures the terminal literal will always match the jline implementation
--
2.13.0

@ -1 +1 @@
Subproject commit 370a5d44b6bc121c25e0208e127304f8dbdfed55
Subproject commit 6dcb3241ca8e69fb8209e54fea507425c508915e