diff --git a/.gitmodules b/.gitmodules index ff4e0897..c6cd5c6e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,3 +14,6 @@ [submodule "depstar"] path = depstar url = https://github.com/babashka/depstar +[submodule "process"] + path = process + url = https://github.com/babashka/process diff --git a/deps.edn b/deps.edn index 3bfbf3b4..77fe72f3 100644 --- a/deps.edn +++ b/deps.edn @@ -5,7 +5,7 @@ "feature-lanterna" "sci/src" "babashka.curl/src" "babashka.pods/src" "babashka.nrepl/src" - "depstar/src" + "depstar/src" "process/src" "resources" "sci/resources"], :deps {org.clojure/clojure {:mvn/version "1.10.2-alpha1"}, org.clojure/tools.reader {:mvn/version "1.3.2"}, diff --git a/process b/process new file mode 160000 index 00000000..2b30f5d4 --- /dev/null +++ b/process @@ -0,0 +1 @@ +Subproject commit 2b30f5d478f890bef76534500d883ccb2697dc98 diff --git a/project.clj b/project.clj index a14c16e2..1feb4b26 100644 --- a/project.clj +++ b/project.clj @@ -8,7 +8,7 @@ :license {:name "Eclipse Public License 1.0" :url "http://opensource.org/licenses/eclipse-1.0.php"} :source-paths ["src" "sci/src" "babashka.curl/src" "babashka.pods/src" - "babashka.nrepl/src" "depstar/src"] + "babashka.nrepl/src" "depstar/src" "process/src"] ;; for debugging Reflector.java code: ;; :java-source-paths ["sci/reflector/src-java"] :java-source-paths ["src-java"] diff --git a/src/babashka/impl/process.clj b/src/babashka/impl/process.clj new file mode 100644 index 00000000..06457a39 --- /dev/null +++ b/src/babashka/impl/process.clj @@ -0,0 +1,13 @@ +(ns babashka.impl.process + {:no-doc true} + (:require [babashka.process :as process] + [sci.core :as sci :refer [copy-var]])) + +(def tns (sci/create-ns 'babashka.process nil)) + +(def process-namespace + {'process (copy-var process/process tns) + 'check (copy-var process/check tns) + 'pb (copy-var process/pb tns) + 'pipeline (copy-var process/pipeline tns) + '$ (copy-var process/$ tns)}) diff --git a/src/babashka/main.clj b/src/babashka/main.clj index 82e05d24..ca9c84de 100644 --- a/src/babashka/main.clj +++ b/src/babashka/main.clj @@ -21,6 +21,7 @@ [babashka.impl.features :as features] [babashka.impl.pods :as pods] [babashka.impl.pprint :refer [pprint-namespace]] + [babashka.impl.process :refer [process-namespace]] [babashka.impl.protocols :refer [protocols-namespace]] [babashka.impl.reify :refer [reify-opts]] [babashka.impl.repl :as repl] @@ -388,7 +389,8 @@ If neither -e, -f, or --socket-repl are specified, then the first argument that 'bencode.core bencode-namespace 'clojure.java.browse browse-namespace 'clojure.datafy datafy-namespace - 'clojure.core.protocols protocols-namespace} + 'clojure.core.protocols protocols-namespace + 'babashka.process process-namespace} features/xml? (assoc 'clojure.data.xml @(resolve 'babashka.impl.xml/xml-namespace)) features/yaml? (assoc 'clj-yaml.core @(resolve 'babashka.impl.yaml/yaml-namespace) 'flatland.ordered.map @(resolve 'babashka.impl.ordered/ordered-map-ns))