11(ns babashka.main
22 {:no-doc true }
33 (:require
4- [babashka.impl.async :refer [async-namespace async-protocols-namespace]]
54 [babashka.impl.bencode :refer [bencode-namespace]]
65 [babashka.impl.cheshire :refer [cheshire-core-namespace]]
76 [babashka.impl.classes :as classes]
6463(when features/jdbc?
6564 (require '[babashka.impl.jdbc]))
6665
66+ (when features/core-async?
67+ (require '[babashka.impl.async]))
68+
6769(binding [*unrestricted* true ]
6870 (sci/alter-var-root sci/in (constantly *in*))
6971 (sci/alter-var-root sci/out (constantly *out*))
@@ -277,15 +279,15 @@ Everything after that is bound to *command-line-args*."))
277279 signal babashka.signal
278280 shell clojure.java.shell
279281 io clojure.java.io
280- async clojure.core.async
281282 csv clojure.data.csv
282283 json cheshire.core
283284 curl babashka.curl
284285 transit cognitect.transit
285286 bencode bencode.core}
286- features/xml? (assoc 'xml 'clojure.data.xml)
287- features/yaml? (assoc 'yaml 'clj-yaml.core)
288- features/jdbc? (assoc 'jdbc 'next.jdbc)))
287+ features/xml? (assoc 'xml 'clojure.data.xml)
288+ features/yaml? (assoc 'yaml 'clj-yaml.core)
289+ features/jdbc? (assoc 'jdbc 'next.jdbc)
290+ features/core-async? (assoc 'async 'clojure.core.async)))
289291
290292(def cp-state (atom nil ))
291293
@@ -307,8 +309,6 @@ Everything after that is bound to *command-line-args*."))
307309 'wait-for-path wait/wait-for-path}
308310 ; ;'babashka.signal {'pipe-signal-received? pipe-signal-received?}
309311 'clojure.java.io io-namespace
310- 'clojure.core.async async-namespace
311- 'clojure.core.async.impl.protocols async-protocols-namespace
312312 'clojure.data.csv csv/csv-namespace
313313 'cheshire.core cheshire-core-namespace
314314 'clojure.stacktrace stacktrace-namespace
@@ -320,10 +320,12 @@ Everything after that is bound to *command-line-args*."))
320320 'babashka.curl curl-namespace
321321 'cognitect.transit transit-namespace
322322 'bencode.core bencode-namespace}
323- features/xml? (assoc 'clojure.data.xml @(resolve 'babashka.impl.xml/xml-namespace))
323+ features/xml? (assoc 'clojure.data.xml @(resolve 'babashka.impl.xml/xml-namespace))
324324 features/yaml? (assoc 'clj-yaml.core @(resolve 'babashka.impl.yaml/yaml-namespace))
325325 features/jdbc? (assoc 'next.jdbc @(resolve 'babashka.impl.jdbc/njdbc-namespace)
326- 'next.jdbc.sql @(resolve 'babashka.impl.jdbc/next-sql-namespace))))
326+ 'next.jdbc.sql @(resolve 'babashka.impl.jdbc/next-sql-namespace))
327+ features/core-async? (assoc 'clojure.core.async @(resolve 'babashka.impl.async/async-namespace)
328+ 'clojure.core.async.impl.protocols @(resolve 'babashka.impl.async/async-protocols-namespace))))
327329
328330(def bindings
329331 {'java.lang.System/exit exit ; ; override exit, so we have more control
0 commit comments