diff --git a/CHANGELOG.md b/CHANGELOG.md index 872d5e3..3d14aad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ ``` Aliases: :dev, :home/cider, :home/zprint, :mine/local ``` +- Make sure the clojure process can communicate over `stdio`. # 0.42.182-alpha (2025-03-01 / 50cc172) diff --git a/src/lambdaisland/launchpad.clj b/src/lambdaisland/launchpad.clj index 5f44db0..dafad68 100644 --- a/src/lambdaisland/launchpad.clj +++ b/src/lambdaisland/launchpad.clj @@ -514,13 +514,14 @@ ((run-process opts) ctx)) ([{:keys [cmd prefix working-dir background? timeout-ms check-exit-code? env - color show-command?] + show-command?] :or {working-dir "." check-exit-code? true show-command? true}}] (fn [ctx] (let [working-dir (io/file working-dir) proc-builder (doto (ProcessBuilder. (map str cmd)) + (.inheritIO) (.directory working-dir)) _ (.putAll (.environment proc-builder) (or env (:env ctx))) color (mod (hash (or prefix (first cmd))) 8) @@ -539,9 +540,8 @@ (.waitFor process timeout-ms TimeUnit/MILLISECONDS) (.waitFor process))] (when (and check-exit-code? (not= 0 exit)) - (do - (println (str prefix) "Exited with non-zero exit code: " exit) - (System/exit exit))) + (println prefix "Exited with non-zero exit code: " exit) + (System/exit exit)) ctx)))))) (defn start-clojure-process [{:keys [aliases nrepl-port] :as ctx}]