boot

:boot-clj: https://boot-clj.github.io/ — build tooling for Clojure. Dev chat in #boot-dev
2018-11-07T05:33:49.050Z

hello. I'm following this tutorial: https://github.com/magomimmo/modern-cljs/blob/master/doc/second-edition/tutorial-02.md and am getting an error when trying to run boot repl -c

Nov 06, 2018 9:30:19 PM clojure.tools.logging$eval1225$fn__1228 invoke
SEVERE: (#error {
 :cause nil
 :via
 [{:type java.lang.NullPointerException
   :message nil
   :at [clojure.core$deref_future invokeStatic core.clj 2208]}]
 :trace
 [[clojure.core$deref_future invokeStatic core.clj 2208]
  [clojure.core$deref invokeStatic core.clj 2228]
  [clojure.core$deref invoke core.clj 2214]
  [cemerick.piggieback$wrap_cljs_repl$fn__2902 invoke piggieback.clj 288]
  [clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__2516 invoke middleware.clj 22]
  [nrepl.server$handle_STAR_ invokeStatic server.clj 17]
  [nrepl.server$handle_STAR_ invoke server.clj 14]
  [nrepl.server$handle$fn__2014 invoke server.clj 26]
  [clojure.core$binding_conveyor_fn$fn__4676 invoke core.clj 1938]
  [clojure.lang.AFn call AFn.java 18]
  [java.util.concurrent.FutureTask run FutureTask.java 264]
  [java.util.concurrent.ThreadPoolExecutor runWorker ThreadPoolExecutor.java 1128]
  [java.util.concurrent.ThreadPoolExecutor$Worker run ThreadPoolExecutor.java 628]
  [java.lang.Thread run Thread.java 834]]} Unhandled REPL handler exception processing message {:id a79113aa-2c6e-420c-ba9f-8842246809cb, :op clone})
Nov 06, 2018 9:32:09 PM clojure.tools.logging$eval1225$fn__1228 invoke
SEVERE: (#error {
 :cause nil
 :via
 [{:type java.lang.NullPointerException
   :message nil
   :at [clojure.core$deref_future invokeStatic core.clj 2208]}]
 :trace
 [[clojure.core$deref_future invokeStatic core.clj 2208]
  [clojure.core$deref invokeStatic core.clj 2228]
  [clojure.core$deref invoke core.clj 2214]
  [cemerick.piggieback$wrap_cljs_repl$fn__2902 invoke piggieback.clj 288]
  [clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__2516 invoke middleware.clj 22]
  [nrepl.server$handle_STAR_ invokeStatic server.clj 17]
  [nrepl.server$handle_STAR_ invoke server.clj 14]
  [nrepl.server$handle$fn__2014 invoke server.clj 26]
  [clojure.core$binding_conveyor_fn$fn__4676 invoke core.clj 1938]
  [clojure.lang.AFn call AFn.java 18]
  [java.util.concurrent.FutureTask run FutureTask.java 264]
  [java.util.concurrent.ThreadPoolExecutor runWorker ThreadPoolExecutor.java 1128]
  [java.util.concurrent.ThreadPoolExecutor$Worker run ThreadPoolExecutor.java 628]
  [java.lang.Thread run Thread.java 834]]} Unhandled REPL handler exception processing message {:id a2ae6b76-4cef-4d90-970a-3fca4c7d441a, :op clone})

joelkuiper 2018-11-07T20:42:07.051100Z

dumb question ... is there a way to include OS specific dependencies like

(def j2v8
 (case (System/getProperty "os.name")
  "Linux"
  '[com.eclipsesource.j2v8/j2v8_linux_x86_64 "4.8.0"]
  "Windows"
  '[com.eclipsesource.j2v8/j2v8_win32_x86_64 "4.6.0"]
  "Mac OS X"
  '[com.eclipsesource.j2v8/j2v8_macosx_x86_64 "4.6.0"]))
from within boot?

joelkuiper 2018-11-07T20:43:34.051500Z

to add to the :dependencies of set-env! ideally

joelkuiper 2018-11-07T20:46:53.051800Z

(it's because of a native dependency)

joelkuiper 2018-11-07T20:59:48.052300Z

I guess I can just conj it into the list

dave 2018-11-07T20:59:50.052400Z

should be feasible to do exactly that!

dave 2018-11-07T21:00:08.052900Z

boot FTW

dave 2018-11-07T21:01:24.053700Z

:dependencies (conj '[[the.usual.stuff "0.0.0"] ...] j2v8)

joelkuiper 2018-11-07T21:01:45.053900Z

yep

joelkuiper 2018-11-07T21:02:43.055100Z

changed it slightly to (into '[[... stuff ...]...] [os-specific]) but it seems to work!

dave 2018-11-07T21:05:51.055400Z

🤘