Fork me on GitHub
#boot
<
2017-02-16
>
richiardiandrea00:02:10

So what you wrote above is probably working but the new new cider does it differently

richiardiandrea00:02:29

And uses the cljs-repl task

qqq00:02:33

interesting, sounds like I should just try stuff and report errors I get into

richiardiandrea00:02:53

If you find problems yes, report it on cider and I will have a look OK?

qqq00:02:02

@richiardiandrea : will do, thanks!

vinnyataide00:02:18

hello I think I have an error to report in boot-system with the aleph component. it sometimes give an error when it tries to stop

java.util.concurrent.RejectedExecutionException: event executor terminated
                     clojure.lang.ExceptionInfo: Error in component :web in system com.stuartsierra.component.SystemMap calling #'com.stuartsierra.component/stop

vinnyataide00:02:24

everytime I have to kill the jvm 😭

anmonteiro05:02:56

can I add a JAR that’s in my filesystem to the classpath?

micha05:02:49

@anmonteiro you can use this:

micha05:02:54

boot.user=> (doc boot.pod/add-classpath)
-------------------------
boot.pod/add-classpath
([jar-or-dir classloader] [jar-or-dir])
  A corollary to the (deprecated) `add-classpath` in clojure.core. This implementation
   requires a java.io.File or String path to a jar file or directory, and will attempt
   to add that path to the right classloader (with the search rooted at the current
   thread's context classloader).

anmonteiro05:02:53

@micha 👌 thanks so much

micha05:02:05

👍 any time 🙂

qqq07:02:32

when using eamcs+boot, do I want to use cider + cider-nrepl 0.15.0-snapshot or 0.14.0 ?

sooheon09:02:23

You shouldn’t need to set it yourself

sooheon09:02:36

IIRC cider now injects the right dependencies for you automatically

sooheon09:02:41

I know it works for my boot projects

qqq09:02:50

I'm launching boot separately, not via jack-in

qqq09:02:01

but it works now with 0.15.0-SNAPSHOT, so it's all good

qqq09:02:27

let's move back to emacs and resolve the orgmode / clj file issue 🙂

residentsummer10:02:38

I’ve got an substantial annoyance in my cider/boot workflow (boot 2.6.0, [samestep/boot-refresh "0.1.0" :scope “test”]) 1. start boot repl in terminal via boot repl 2. launch a refresh task there (boot-refresh) via (boot (watch) (refresh)) 3. connect to repl from cider so far so good, everything works as expected until I save a file which produces a compile time error: 4. make a change that breaks compilation, save 5. observe irrelevant stack trace in terminal where boot is running

java.lang.IllegalStateException: Can't set!: *e from non-binding thread
                                                       ...
clojure.tools.namespace.repl/print-and-return/invokeStatic          repl.clj:   22
             clojure.tools.namespace.repl/print-and-return          repl.clj:   20
      clojure.tools.namespace.repl/do-refresh/invokeStatic          repl.clj:   96
                   clojure.tools.namespace.repl/do-refresh          repl.clj:   82
         clojure.tools.namespace.repl/refresh/invokeStatic          repl.clj:  145
                      clojure.tools.namespace.repl/refresh          repl.clj:  128
                                                       ...
                 samestep.boot-refresh/eval572/fn/fn/fn/fn  boot_refresh.clj:   14
                                                       ...
                           clojure.core/apply/invokeStatic          core.clj:  646
                  clojure.core/with-bindings*/invokeStatic          core.clj: 1881
                               clojure.core/with-bindings*          core.clj: 1881
                                                       ...
                    samestep.boot-refresh/eval572/fn/fn/fn  boot_refresh.clj:   13
                            boot.task.built-in/fn/fn/fn/fn      built_in.clj:  167
                      boot.task.built-in/fn/fn/fn/fn/fn/fn      built_in.clj:  348
                         boot.task.built-in/fn/fn/fn/fn/fn      built_in.clj:  348
                            boot.task.built-in/fn/fn/fn/fn      built_in.clj:  345
                                       boot.core/run-tasks          core.clj:  938
                                         boot.core/boot/fn          core.clj:  948
                       clojure.core/binding-conveyor-fn/fn          core.clj: 1938
does somebody know how to make boot display the actual compilation error here?

residentsummer10:02:25

It is possible to get a relevant exception with cider (by evaling the last saved buffer), but it’s a pain

qqq10:02:22

I'm using boot/cljs . I don't want the js files ot get sent ot "./out" -- I want them sent to "../build/out" (where "." = dir where build.boot resides) I'm looking at (doc cljs) but don't see the option. How do I tell the compiler to put the output at "../build/out" instead ?

moxaj10:02:00

@qqq have you tried passing it to :compiler-options {:output-dir ...} ?

qqq10:02:57

how do I lookup the documentation for :compiler-options ?

qqq10:02:00

I was unaware of the :output-dir option

moxaj10:02:40

boot-cljs probably only exposes the more common compiler options

kommen11:02:49

with boot-cljs you can not set output-dir

kommen11:02:55

> NOTE that the CLJS compiler's :output-to and :output-dir options will be overridden by the cljs task. These options are determined by the name and location of a .cljs.edn. By default the cljs task will automatically create a main.cljs.edn file in the root of the fileset, which will result in a main.js in the root of the output directory.

borkdude13:02:50

In our dev task when I change a server side .clj file, our ClojureScript gets reloaded which triggers an http request and this evaluates the touched .clj file. How do I get cljs to reload only when a client side file has been touched?

borkdude13:02:35

I think the reload task is what this triggers

borkdude13:02:24

Probably I should use: only-by-re

borkdude13:02:14

Hmm, that conjes vector of path regexes

alandipert13:02:50

I think you're on the right track. Worst case, you could make your own watch task and use fileset diff stuff directly

alandipert13:02:24

I want to make this for out big cljs app too. The clj doesn't need refresh because we're using wrap-reload ring middleware

borkdude13:02:42

Yes, we do it like that as well.

borkdude13:02:52

But I don’t want it to be evaluated on save by this loop 🙂

alandipert13:02:18

Yeah. I think only-by-re is handy when there is some cljs you don't want to recompile

alandipert13:02:40

I used it recently to not reload web workers

alandipert13:02:18

I suspect it would be more of a watch task thing

pupeno14:02:06

When I run boot I get an error. It says it's downloading boot.jar and then it fails with unknownhostexception: http://github.com. I configured our corporate proxy with BOOT_JVM_OPTIONS, but it seems to be ignoring it.

pupeno14:02:10

Any ideas?

pesterhazy14:02:24

is the proxy used for DNS queries?

micha14:02:02

@pupeno can you paste your options please?

pupeno14:02:51

I made some progress. Boot on Windows ignores environment variables and boot.properties, but boot.l4j.ini works.

pupeno14:02:02

Now, apparently, my proxy has an invalid SSL cert :(

micha14:02:27

ah yeah, that might be a setting you need to do with the jvm configuration?

micha14:02:06

on linux there is a way to add CAs to the JVM's key store thinger

richiardiandrea16:02:51

@qqq what I do is to append a sift task at the end of the pipeline

richiardiandrea16:02:09

Filtering away .out or renaming it

adamkowalski18:02:35

Where does boot store libraries that it downloads for your project?

adamkowalski18:02:17

Is it just in ~/.boot/cache

micha18:02:35

that would be in your local maven repo

micha18:02:43

it's at ~/.m2/ by default

qqq20:02:05

@richiardiandrea : sift definitely would work; however, I already have a (target) so I just hijacked that to put it elsewhere

uwo21:02:16

any suggestion what to debug when I see an exception for Multiple jar entries match: .*/pom.xml after trying to boot push an uberjar?

uwo21:02:46

nvm. figured it out!

uwo22:02:08

should I not be boot pushing an uberjar? pipe breaks during transfer

richiardiandrea22:02:33

@uwo had the same problem and I solved by specifying :project. It maybe happens because of the many pom.xml in the uberjarring, but @micha might know more