diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6387d3779..fdb7a4b00 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -160,6 +160,8 @@ jobs: run: | # test building sbtn on Linux sbt "-Dsbt.io.virtual=false" nativeImage + # smoke test native Image + ./client/target/bin/sbtn shutdown # test launcher script echo build using JDK 8 test using JDK 8 and JDK 11 cd launcher-package diff --git a/client/src/main/java/sbt/client/Client.java b/client/src/main/java/sbt/client/Client.java index 6ffe838ff..dcabbf158 100644 --- a/client/src/main/java/sbt/client/Client.java +++ b/client/src/main/java/sbt/client/Client.java @@ -9,19 +9,21 @@ package sbt.client; import sbt.internal.client.NetworkClient; -import java.nio.file.Paths; import org.fusesource.jansi.AnsiConsole; public class Client { public static void main(final String[] args) { boolean isWin = System.getProperty("os.name").toLowerCase().startsWith("win"); + boolean hadError = false; try { if (isWin) AnsiConsole.systemInstall(); NetworkClient.main(args); } catch (final Throwable t) { t.printStackTrace(); + hadError = true; } finally { if (isWin) AnsiConsole.systemUninstall(); + if (hadError) System.exit(1); } } }