From f2c5561eaca2dfc501613e5b42e09e098c204f15 Mon Sep 17 00:00:00 2001 From: crschnick Date: Thu, 28 Dec 2023 00:57:06 +0000 Subject: [PATCH] Improve script init failure message --- .../io/xpipe/ext/base/script/ScriptStore.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java index 5af02040..aae34d07 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java @@ -31,18 +31,23 @@ public abstract class ScriptStore extends JacksonizedValue implements DataStore, } public static ShellControl controlWithScripts(ShellControl pc, List> initScripts, List> bringScripts) { - var initFlattened = flatten(initScripts); - var bringFlattened = flatten(bringScripts); + try { + var initFlattened = flatten(initScripts); + var bringFlattened = flatten(bringScripts); - pc.onInit(shellControl -> { - passInitScripts(pc, initFlattened); + pc.onInit(shellControl -> { + passInitScripts(pc, initFlattened); - var dir = initScriptsDirectory(shellControl, bringFlattened); - if (dir != null) { - shellControl.withInitSnippet(new SimpleScriptSnippet(shellControl.getShellDialect().appendToPathVariableCommand(dir), ScriptSnippet.ExecutionType.TERMINAL_ONLY)); - } - }); - return pc; + var dir = initScriptsDirectory(shellControl, bringFlattened); + if (dir != null) { + shellControl.withInitSnippet(new SimpleScriptSnippet(shellControl.getShellDialect().appendToPathVariableCommand(dir), + ScriptSnippet.ExecutionType.TERMINAL_ONLY)); + } + }); + return pc; + } catch (Throwable t) { + throw new RuntimeException("Unable to set up scripts", t); + } } private static void passInitScripts(ShellControl pc, List scriptStores) throws Exception {