Tasks: remove log-level

This commit is contained in:
Michiel Borkent 2021-04-30 11:17:48 +02:00
parent 06be620d71
commit f0adfb450e
2 changed files with 15 additions and 36 deletions

View file

@ -116,37 +116,26 @@
'-wait (sci/copy-var -wait sci-ns) '-wait (sci/copy-var -wait sci-ns)
'*task* task '*task* task
'current-task current-task 'current-task current-task
'current-state state 'current-state state})
'*-log-level* log-level
'-log-info (sci/copy-var log-info sci-ns)
'-log-error (sci/copy-var log-error sci-ns)})
(defn depends-map [tasks target-name] (defn depends-map [tasks target-name]
(let [deps (seq (:depends (get tasks target-name))) (let [deps (seq (:depends (get tasks target-name)))
m [target-name deps]] m [target-name deps]]
(into {} (cons m (map #(depends-map tasks %) deps))))) (into {} (cons m (map #(depends-map tasks %) deps)))))
#_(defn wrap-when [expr when-expr] (defn wrap-body [task-map prog parallel?]
(if when-expr
(format "(when %s %s)" (second when-expr) expr)
expr))
(defn wrap-body [task-map prog parallel? log-level]
(format "(binding [ (format "(binding [
babashka.tasks/*-log-level* %s
babashka.tasks/*task* '%s] babashka.tasks/*task* '%s]
(babashka.tasks/-log-info)
%s)" %s)"
log-level
(pr-str task-map) (pr-str task-map)
(if parallel? (if parallel?
(format "(future %s)" prog) (format "(future %s)" prog)
prog))) prog)))
(defn wrap-def [task-map prog parallel? last? log-level] (defn wrap-def [task-map prog parallel? last?]
(let [task-name (:name task-map)] (let [task-name (:name task-map)]
(format "(def %s %s) %s" (format "(def %s %s) %s"
task-name (wrap-body task-map prog parallel? log-level) task-name (wrap-body task-map prog parallel?)
(if (and parallel? last?) (if (and parallel? last?)
(format "(babashka.tasks/-wait %s)" task-name) (format "(babashka.tasks/-wait %s)" task-name)
task-name)))) task-name))))
@ -171,9 +160,9 @@
(defn assemble-task-1 (defn assemble-task-1
"Assembles task, does not process :depends." "Assembles task, does not process :depends."
([task-map task log-level parallel?] ([task-map task parallel?]
(assemble-task-1 task-map task log-level parallel? nil)) (assemble-task-1 task-map task parallel? nil))
([task-map task log-level parallel? last?] ([task-map task parallel? last?]
(let [[task depends task-map] (let [[task depends task-map]
(if (map? task) (if (map? task)
[(:task task) [(:task task)
@ -187,16 +176,12 @@
(str/starts-with? task-name "-")) (str/starts-with? task-name "-"))
task-map (if private? task-map (if private?
(assoc task-map :private private?) (assoc task-map :private private?)
task-map) task-map)]
log-level (or (:log-level task)
(when private?
:error)
log-level)]
(if (qualified-symbol? task) (if (qualified-symbol? task)
(let [prog (format "(apply %s *command-line-args*)" task) (let [prog (format "(apply %s *command-line-args*)" task)
prog (wrap-enter-leave prog enter leave) prog (wrap-enter-leave prog enter leave)
prog (wrap-depends prog depends parallel?) prog (wrap-depends prog depends parallel?)
prog (wrap-def task-map prog parallel? last? log-level) prog (wrap-def task-map prog parallel? last?)
prog (format " prog (format "
(when-not (resolve '%s) (require (quote %s))) (when-not (resolve '%s) (require (quote %s)))
%s" %s"
@ -207,7 +192,7 @@
(let [prog (pr-str task) (let [prog (pr-str task)
prog (wrap-enter-leave prog enter leave) prog (wrap-enter-leave prog enter leave)
prog (wrap-depends prog depends parallel?) prog (wrap-depends prog depends parallel?)
prog (wrap-def task-map prog parallel? last? log-level)] prog (wrap-def task-map prog parallel? last?)]
prog))))) prog)))))
(defn format-task [init extra-paths extra-deps requires prog] (defn format-task [init extra-paths extra-deps requires prog]
@ -267,13 +252,12 @@
task))) task)))
acc depends)) (transient {}) tasks->depends)))) acc depends)) (transient {}) tasks->depends))))
(defn assemble-task [task-name parallel? log-level] (defn assemble-task [task-name parallel?]
(let [task-name (symbol task-name) (let [task-name (symbol task-name)
bb-edn @bb-edn bb-edn @bb-edn
tasks (get bb-edn :tasks) tasks (get bb-edn :tasks)
enter (:enter tasks) enter (:enter tasks)
leave (:leave tasks) leave (:leave tasks)
log-level (or log-level (:log-level tasks) default-log-level)
task (get tasks task-name)] task (get tasks task-name)]
(if task (if task
(let [m? (map? task) (let [m? (map? task)
@ -302,7 +286,7 @@
#_#_depends-on-t (assoc :dependents depends-on-t))] #_#_depends-on-t (assoc :dependents depends-on-t))]
(if targets (if targets
(if-let [task (get tasks t)] (if-let [task (get tasks t)]
(recur (str prog "\n" (assemble-task-1 task-map task log-level parallel?)) (recur (str prog "\n" (assemble-task-1 task-map task parallel?))
targets targets
(conj done t) (conj done t)
(concat extra-paths (:extra-paths task)) (concat extra-paths (:extra-paths task))
@ -314,7 +298,7 @@
(let [prog (str prog "\n" (let [prog (str prog "\n"
(apply str (map deref-task depends)) (apply str (map deref-task depends))
"\n" "\n"
(assemble-task-1 task-map task log-level parallel? true)) (assemble-task-1 task-map task parallel? true))
extra-paths (concat extra-paths (:extra-paths task)) extra-paths (concat extra-paths (:extra-paths task))
extra-deps (merge extra-deps (:extra-deps task)) extra-deps (merge extra-deps (:extra-deps task))
requires (concat requires (:requires task))] requires (concat requires (:requires task))]
@ -329,7 +313,7 @@
(assemble-task-1 (cond-> {:name task-name} (assemble-task-1 (cond-> {:name task-name}
enter (assoc :enter enter) enter (assoc :enter enter)
leave (assoc :leave leave)) leave (assoc :leave leave))
task log-level parallel? true))] nil])] task parallel? true))] nil])]
(when (= "true" (System/getenv "BABASHKA_DEV")) (when (= "true" (System/getenv "BABASHKA_DEV"))
(.println System/out (ffirst prog))) (.println System/out (ffirst prog)))
prog) prog)

View file

@ -419,10 +419,6 @@ When no eval opts or subcommand is provided, the implicit subcommand is repl.")
"--parallel" "--parallel"
(recur (assoc opts-map :parallel-tasks true) (recur (assoc opts-map :parallel-tasks true)
(next args)) (next args))
"--log-level"
(let [args (next args)]
(recur (assoc opts-map :log-level (keyword (first args)))
(next args)))
"--prn" "--prn"
(let [args (next args)] (let [args (next args)]
(recur (assoc opts-map :prn true) (recur (assoc opts-map :prn true)
@ -704,8 +700,7 @@ When no eval opts or subcommand is provided, the implicit subcommand is repl.")
[[(format "(ns user (:require [%1$s])) (apply %1$s/%2$s *command-line-args*)" [[(format "(ns user (:require [%1$s])) (apply %1$s/%2$s *command-line-args*)"
ns var-name)] nil]) ns var-name)] nil])
run (tasks/assemble-task run run (tasks/assemble-task run
(:parallel-tasks cli-opts) (:parallel-tasks cli-opts))
(:log-level cli-opts))
file (try [[(read-file file)] nil] file (try [[(read-file file)] nil]
(catch Exception e (catch Exception e
(error-handler e {:expression expressions (error-handler e {:expression expressions