boot

:boot-clj: https://boot-clj.github.io/ — build tooling for Clojure. Dev chat in #boot-dev
2019-06-17T18:42:28.019100Z

I'm trying to build a workflow where i don't have to restart my repl as often. Boot seems to have the best story for this. However, i'm not sure what the edges are. For example, loading clj-time worked just fine, but trying to use datascript results in an error.

(boot.core/set-env! :dependencies '[[datascript "0.18.4"]])

(require '[datascript.core])

#error {}
 :cause "namespace 'datascript.query' not found"
 :via
 [{:type clojure.lang.Compiler$CompilerException
   :message "java.lang.Exception: namespace 'datascript.query' not found, compiling:(datascript/core.cljc:1:1)"
   :at [clojure.core$throw_if doInvoke "core.clj" 5630]}
  {:type java.lang.Exception
   :message "namespace 'datascript.query' not found"
   :at [clojure.core$load_lib doInvoke "core.clj" 5716]}]
 :trace
 [[clojure.core$load_lib doInvoke "core.clj" 5716]
  [clojure.lang.RestFn applyTo "RestFn.java" 142]
  [clojure.core$apply invoke "core.clj" 632]
  [clojure.core$load_libs doInvoke "core.clj" 5749]
  [clojure.lang.RestFn applyTo "RestFn.java" 137]
  [clojure.core$apply invoke "core.clj" 632]
  [clojure.core$require doInvoke "core.clj" 5832]
  [clojure.lang.RestFn invoke "RestFn.java" 457]
  [datascript.core$eval12743$loading__5340__auto____12744 invoke "core.cljc" 1]
  [datascript.core$eval12743 invoke "core.cljc" 1]
  [clojure.lang.Compiler eval "Compiler.java" 6782]
  [clojure.lang.Compiler eval "Compiler.java" 6771]
  [clojure.lang.Compiler load "Compiler.java" 7227]
  [clojure.lang.RT loadResourceScript "RT.java" 371]
  [clojure.lang.RT loadResourceScript "RT.java" 362]
  [clojure.lang.RT load "RT.java" 446]
  [clojure.lang.RT load "RT.java" 412]
  [clojure.core$load$fn__5448 invoke "core.clj" 5866]
  [clojure.core$load doInvoke "core.clj" 5865]
  [clojure.lang.RestFn invoke "RestFn.java" 408]
  [clojure.core$load_one invoke "core.clj" 5671]
  [clojure.core$load_lib$fn__5397 invoke "core.clj" 5711]
  [clojure.core$load_lib doInvoke "core.clj" 5710]
  [clojure.lang.RestFn applyTo "RestFn.java" 142]
  [clojure.core$apply invoke "core.clj" 632]
  [clojure.core$load_libs doInvoke "core.clj" 5749]
  [clojure.lang.RestFn applyTo "RestFn.java" 137]
  [clojure.core$apply invoke "core.clj" 632]
  [clojure.core$require doInvoke "core.clj" 5832]
  [clojure.lang.RestFn invoke "RestFn.java" 408]
  [drewv_verlees_discrete_optimization_tutorial$eval12739 invoke "NO_SOURCE_FILE" 31]
  [clojure.lang.Compiler eval "Compiler.java" 6782]
  [clojure.lang.Compiler eval "Compiler.java" 6745]
  [clojure.core$eval invoke "core.clj" 3081]
  [clojure.main$repl$read_eval_print__7099$fn__7102 invoke "main.clj" 240]
  [clojure.main$repl$read_eval_print__7099 invoke "main.clj" 240]
  [clojure.main$repl$fn__7108 invoke "main.clj" 258]
  [clojure.main$repl doInvoke "main.clj" 258]
  [clojure.lang.RestFn invoke "RestFn.java" 1523]
  [nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 79]
  [nrepl.middleware.interruptible_eval$interruptible_eval$fn__3845$fn__3849 invoke "interruptible_eval.clj" 142]
  [clojure.lang.AFn run "AFn.java" 22]
  [nrepl.middleware.session$session_exec$main_loop__3942$fn__3944 invoke "session.clj" 171]
  [nrepl.middleware.session$session_exec$main_loop__3942 invoke "session.clj" 170]
  [clojure.lang.AFn run "AFn.java" 22]
  [java.lang.Thread run "Thread.java" 748]]