explicitly detect java.awt.headless in build

This commit is contained in:
Craig Raw 2022-10-25 09:38:16 +02:00
parent 85166635b4
commit 9325a1968b
3 changed files with 9 additions and 6 deletions

View file

@ -19,7 +19,7 @@ if(System.getProperty("os.arch") == "aarch64") {
osArch = "aarch64" osArch = "aarch64"
targetName = "-" + osArch targetName = "-" + osArch
} }
def headless = GraphicsEnvironment.isHeadless() def headless = "true".equals(System.getProperty("java.awt.headless")) || GraphicsEnvironment.isHeadless()
group "com.sparrowwallet" group "com.sparrowwallet"
version "${sparrowVersion}" version "${sparrowVersion}"

View file

@ -66,7 +66,7 @@ public enum JavaFXPlatform {
String osClassifier = project.getExtensions().getByType(OsDetector.class).getClassifier(); String osClassifier = project.getExtensions().getByType(OsDetector.class).getClassifier();
if(GraphicsEnvironment.isHeadless()) { if("true".equals(System.getProperty("java.awt.headless")) || GraphicsEnvironment.isHeadless()) {
osClassifier += "-monocle"; osClassifier += "-monocle";
} }

View file

@ -7,10 +7,13 @@ public enum Interface {
public static Interface get() { public static Interface get() {
if(currentInterface == null) { if(currentInterface == null) {
if(java.awt.GraphicsEnvironment.isHeadless()) { boolean headless = java.awt.GraphicsEnvironment.isHeadless();
if("Monocle".equalsIgnoreCase(System.getProperty("glass.platform"))) { boolean monocle = "Monocle".equalsIgnoreCase(System.getProperty("glass.platform"));
currentInterface = TERMINAL;
} else { if(headless || monocle) {
currentInterface = TERMINAL;
if(headless && !monocle) {
throw new UnsupportedOperationException("Headless environment detected but Monocle platform not found"); throw new UnsupportedOperationException("Headless environment detected but Monocle platform not found");
} }
} else { } else {