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"
targetName = "-" + osArch
}
def headless = GraphicsEnvironment.isHeadless()
def headless = "true".equals(System.getProperty("java.awt.headless")) || GraphicsEnvironment.isHeadless()
group "com.sparrowwallet"
version "${sparrowVersion}"

View file

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

View file

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