[#389] feature flag for transit
This commit is contained in:
parent
e565890f1d
commit
9ec14eb56b
6 changed files with 25 additions and 7 deletions
|
|
@ -18,8 +18,7 @@
|
|||
[borkdude/sci.impl.reflector "0.0.1"]
|
||||
[org.clojure/tools.cli "1.0.194"]
|
||||
[cheshire "5.10.0"]
|
||||
[fipp "0.6.22"]
|
||||
[com.cognitect/transit-clj "1.0.324"]]
|
||||
[fipp "0.6.22"]]
|
||||
:profiles {:feature/xml {:source-paths ["feature-xml"]
|
||||
:dependencies [[org.clojure/data.xml "0.2.0-alpha6"]]}
|
||||
:feature/yaml {:source-paths ["feature-yaml"]
|
||||
|
|
@ -32,12 +31,15 @@
|
|||
:dependencies [[org.clojure/core.async "1.1.587"]]}
|
||||
:feature/csv {:source-paths ["feature-csv"]
|
||||
:dependencies [[org.clojure/data.csv "1.0.0"]]}
|
||||
:feature/transit {:source-paths ["feature-transit"]
|
||||
:dependencies [[com.cognitect/transit-clj "1.0.324"]]}
|
||||
:test [:feature/xml
|
||||
:feature/yaml
|
||||
:feature/postgresql
|
||||
:feature/hsqldb
|
||||
:feature/core-async
|
||||
:feature/csv
|
||||
:feature/transit
|
||||
{:dependencies [[clj-commons/conch "0.9.2"]
|
||||
[com.clojure-goes-fast/clj-async-profiler "0.4.1"]]}]
|
||||
:uberjar {:global-vars {*assert* false}
|
||||
|
|
|
|||
|
|
@ -53,6 +53,13 @@ else
|
|||
BABASHKA_LEIN_PROFILES+=",-feature/csv"
|
||||
fi
|
||||
|
||||
if [ "$BABASHKA_FEATURE_TRANSIT" != "false" ]
|
||||
then
|
||||
BABASHKA_LEIN_PROFILES+=",+feature/transit"
|
||||
else
|
||||
BABASHKA_LEIN_PROFILES+=",-feature/transit"
|
||||
fi
|
||||
|
||||
if [ -z "$BABASHKA_JAR" ]; then
|
||||
lein with-profiles "$BABASHKA_LEIN_PROFILES,+reflection,-uberjar" do run
|
||||
lein with-profiles "$BABASHKA_LEIN_PROFILES" do clean, uberjar
|
||||
|
|
|
|||
|
|
@ -52,6 +52,12 @@ if not "%BABASHKA_FEATURE_CSV%"=="false" (
|
|||
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,-feature/csv
|
||||
)
|
||||
|
||||
if not "%BABASHKA_FEATURE_TRANSIT%"=="false" (
|
||||
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,+feature/transit
|
||||
) else (
|
||||
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,-feature/transit
|
||||
)
|
||||
|
||||
call lein with-profiles %BABASHKA_LEIN_PROFILES% bb "(+ 1 2 3)"
|
||||
|
||||
call lein with-profiles %BABASHKA_LEIN_PROFILES%,+reflection,-uberjar do run
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
(def xml? (not= "false" (System/getenv "BABASHKA_FEATURE_XML")))
|
||||
(def core-async? (not= "false" (System/getenv "BABASHKA_FEATURE_CORE_ASYNC")))
|
||||
(def csv? (not= "false" (System/getenv "BABASHKA_FEATURE_CSV")))
|
||||
(def transit? (not= "false" (System/getenv "BABASHKA_FEATURE_TRANSIT")))
|
||||
|
||||
;; excluded by default
|
||||
(def jdbc? (= "true" (System/getenv "BABASHKA_FEATURE_JDBC")))
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
[babashka.impl.socket-repl :as socket-repl]
|
||||
[babashka.impl.test :as t]
|
||||
[babashka.impl.tools.cli :refer [tools-cli-namespace]]
|
||||
[babashka.impl.transit :refer [transit-namespace]]
|
||||
[babashka.wait :as wait]
|
||||
[clojure.edn :as edn]
|
||||
[clojure.java.io :as io]
|
||||
|
|
@ -68,6 +67,9 @@
|
|||
(when features/csv?
|
||||
(require '[babashka.impl.csv]))
|
||||
|
||||
(when features/transit?
|
||||
(require '[babashka.impl.transit]))
|
||||
|
||||
(binding [*unrestricted* true]
|
||||
(sci/alter-var-root sci/in (constantly *in*))
|
||||
(sci/alter-var-root sci/out (constantly *out*))
|
||||
|
|
@ -283,13 +285,13 @@ Everything after that is bound to *command-line-args*."))
|
|||
io clojure.java.io
|
||||
json cheshire.core
|
||||
curl babashka.curl
|
||||
transit cognitect.transit
|
||||
bencode bencode.core}
|
||||
features/xml? (assoc 'xml 'clojure.data.xml)
|
||||
features/yaml? (assoc 'yaml 'clj-yaml.core)
|
||||
features/jdbc? (assoc 'jdbc 'next.jdbc)
|
||||
features/core-async? (assoc 'async 'clojure.core.async)
|
||||
features/csv? (assoc 'csv 'clojure.data.csv)))
|
||||
features/csv? (assoc 'csv 'clojure.data.csv)
|
||||
features/transit? (assoc 'transit 'cognitect.transit)))
|
||||
|
||||
(def cp-state (atom nil))
|
||||
|
||||
|
|
@ -319,7 +321,6 @@ Everything after that is bound to *command-line-args*."))
|
|||
'babashka.classpath {'add-classpath add-classpath*}
|
||||
'clojure.pprint pprint-namespace
|
||||
'babashka.curl curl-namespace
|
||||
'cognitect.transit transit-namespace
|
||||
'bencode.core bencode-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))
|
||||
|
|
@ -327,7 +328,8 @@ Everything after that is bound to *command-line-args*."))
|
|||
'next.jdbc.sql @(resolve 'babashka.impl.jdbc/next-sql-namespace))
|
||||
features/core-async? (assoc 'clojure.core.async @(resolve 'babashka.impl.async/async-namespace)
|
||||
'clojure.core.async.impl.protocols @(resolve 'babashka.impl.async/async-protocols-namespace))
|
||||
features/csv? (assoc 'clojure.data.csv @(resolve 'babashka.impl.csv/csv-namespace))))
|
||||
features/csv? (assoc 'clojure.data.csv @(resolve 'babashka.impl.csv/csv-namespace))
|
||||
features/transit? (assoc 'cognitect.transit @(resolve 'babashka.impl.transit/transit-namespace))))
|
||||
|
||||
(def bindings
|
||||
{'java.lang.System/exit exit ;; override exit, so we have more control
|
||||
|
|
|
|||
Loading…
Reference in a new issue