Babashka process Clojure library for shelling out / spawning sub-processes
- Fix reflection warnings
- #181: support
:discardorProcessBuilder$Redirectas:outand:erroptions
- #163, #164: Program resolution strategy for
execand Windows now matches macOS/Linux/PowerShell (@lread) - Fix memory leak by executing shutdown hook when process finishes earlier than VM exit (@maxweber)
- #123:
execnow converts:envand:extra-envkeywords (@lread) - #140: accept
java.nio.file.Pathas:dirargument - #148: accept
Pathin:out,:errand:in - Support
:out :bytes(@hansbugge)
- Bump
babashka.fsto 0.4.18
- #124: Allow
:cmdto be passed in map argument
- Fix regression introduced in #112:
execalways needs to resolve the full path of the program
- #100: preserve single-quotes in double-quoted string
- BREAKING:
:writeinstead of:appendto an:out-fileby default. This default was undocumented so the impact should be small.
- Auto-load
babashka.process.pprintifclojure.pprintwas already loaded
- Fix invocation with file argument
- #95: Unify arg parsing for
shellandprocess: the recommended syntax is now:(process opts? & args)
- Add
alive?to check if process is still alive (@grzm) - Update
process' docstring to mention clojure standard streams (@ikappaki) - Slurp
:errincheckonly if it is an input stream (@ikappaki)
- Return
deref-edresult to:exit-fn
- Add
:exit-fntoprocess: a one-argument function which will be called upon the termination of the process.
- #84: fix
tokenizewith single-quoted strings inside double-quoted string
- #76: error while loading
babashka.processwith older GraalVM libraries
- Add
shellfunction that behaves similar tobabashka.tasks/shell - Support string as value for
:outand:errfor writing to file
- #53: Added namespace
babashka.process.pprintwhich defines how topprintaProcessrecord (if loaded). - Added
:pre-start-fntoprocessoptions, e.g. for printing the command before execution - Support
execbut only in GraalVM binaries
Similar to tools.build.api/process, process now supports appending output to
files. To reduce cognitive overhead between libraries, process adopted the same
convention:
- feat #44:
- Support
:out+ (:write/:append) and:out-file+ file - Support
:err+ (:write/:append) and:err-file+ file
- Support
- Resolve binaries on Windows using
fs/which - String with backslash is tokenized incorrectly #47
- Support
derefwith timeout #50 (@SevereOverfl0w) - Fix piping with
$macro #52
Initial release