Babashka process Clojure library for shelling out / spawning sub-processes
- #163, #164: Program resolution strategy for
exec
and Windows now matches macOS/Linux/PowerShell (@lread)
- #123:
exec
now converts:env
and:extra-env
keywords (@lread) - #140: accept
java.nio.file.Path
as:dir
argument - #148: accept
Path
in:out
,:err
and:in
- Support
:out :bytes
(@hansbugge)
- Bump
babashka.fs
to 0.4.18
- #124: Allow
:cmd
to be passed in map argument
- Fix regression introduced in #112:
exec
always needs to resolve the full path of the program
- #100: preserve single-quotes in double-quoted string
- BREAKING:
:write
instead of:append
to an:out-file
by default. This default was undocumented so the impact should be small.
- Auto-load
babashka.process.pprint
ifclojure.pprint
was already loaded
- Fix invocation with file argument
- #95: Unify arg parsing for
shell
andprocess
: 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
:err
incheck
only if it is an input stream (@ikappaki)
- Return
deref-ed
result to:exit-fn
- Add
:exit-fn
toprocess
: a one-argument function which will be called upon the termination of the process.
- #84: fix
tokenize
with single-quoted strings inside double-quoted string
- #76: error while loading
babashka.process
with older GraalVM libraries
- Add
shell
function that behaves similar tobabashka.tasks/shell
- Support string as value for
:out
and:err
for writing to file
- #53: Added namespace
babashka.process.pprint
which defines how topprint
aProcess
record (if loaded). - Added
:pre-start-fn
toprocess
options, e.g. for printing the command before execution - Support
exec
but 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
deref
with timeout #50 (@SevereOverfl0w) - Fix piping with
$
macro #52
Initial release