Fork me on GitHub
#boot
<
2016-07-15
>
donaldball02:07:28

Has the boot community done anything along the lines of lein voom, where a project can depend on specific git commits or branches of other projects?

seancorfield03:07:47

I was thinking of the built-in —checkouts option… but I haven’t actually looked at that.

seancorfield03:07:49

Hmm, —checkouts seems to be about JAR files and watching/refreshing dependencies on change? EwenG’s task looks more like Leiningen’s checkouts support perhaps?

mccraigmccraig07:07:05

boot voom would be awesome... i have a bunch of lein voom projects and one boot project which currently gets its deps updated by hand

jannis14:07:23

When running tests with boot test, the executing namespace (`*ns*`) of my tests appears to be pod. However, when I run them manually from the REPL via (clojure.test/run-tests <my ns>), the namespace is boot.user. This means if the code I'm testing generates symbols based on *ns* they will be different between the two scenarios. Is there a way to have the same executing namespace in both situations?

dsiegel16:07:04

I'm learning boot. I've updated https://github.com/daslu/tenzing-re-frame-todomvc to use current versions of boot, and current library versions. I'm having a problem with .cljs.edn tenzing-re-frame-todomvc has the file resources/js/app.cljs.edn If I remove the .cljs.edn file and adjust index.html to use main.js rather than js/app.js, the application works. If use resources/js/app.cljs.edn, I get the ClojureScript could not load :main, did you forget to specify :asset-path? error. I think that the app.js shim is trying to load the goog dependencies from the server root directory rather than from the js subdirectory. Any ideas for debugging and fixing this problem?

seancorfield17:07:46

@jannis: The trick we use is to have this in each namespace where we’d want to reference *ns*:

(def my-ns *ns*)
Then use my-ns instead. Since this is bound to a value at load time, you’re guaranteed that my-ns refers to the actual namespace and not the dynamic value of the calling namespace. Does that help?

uwo17:07:02

anyone have any experience with boot-figwheel? having trouble getting it set up

juhoteperi18:07:24

@uwo: What kind of problems? With a quick glance ajchemist/boot-figwheel looks like it is not compatible with boot watch and doesn't integrate with Boot filesets, so it can't access files created by other tasks

uwo18:07:40

right. I’ve avoided using it with watch. I think i probably asked for help too soon. my main problem is actually just getting my assets served properly. But, secondarily I run into this error java[15899] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21) when I don’t blow away the compiled javascript files before attempting to run the task again

alandipert18:07:47

@uwo: have you tried boot-cljs yet? it offers a similar workflow, is better integrated into boot

uwo18:07:28

yes. we just switched to boot-cljs (and boot), however compile times were much slower than with figwheel, so I was experimenting with using figwheel at dev time

juhoteperi18:07:11

Not sure what is the status on OS X or Windows but on Linux the compile times should be similar

uwo18:07:36

right. I’m running on OS X

uwo18:07:11

perhaps our pipeline isn’t set up optimally

juhoteperi18:07:44

But I believe compile times should be similar on OS X also, all my co-workers are using OS X and I haven't noticed that their builds would be any slower than mine

uwo18:07:22

for me, a fresh compile with figwheel was around 14 seconds, and restarting thereafter about 2-4. With boot-cljs I’m around a half minute, though incremental compiles are fine

juhoteperi18:07:04

Okay, slow compile after Boot start is a "feature"

juhoteperi18:07:09

Boot starts with new temp dirs each time and I haven't found slow starts too annonying yet to store Cljs cache in persistent location

juhoteperi18:07:43

Plus, Cljs cache can still cause random problems, after changing deps etc, that require cleaning it

uwo18:07:03

sure. and I always clean after new deps.

uwo18:07:38

okay. cool. this wasn’t intended to be a complaint about the speed of boot-cljs, just an inquiry into boot-figwheel. Thanks for your time!

bsima20:07:18

@alandipert: do you guys use mount or component with boot? I'm just curious

seancorfield21:07:45

@bsima: I’m not Alan (and I don’t work there) and I’m not sure of the context of your question but… at World Singles we use Component with Boot.

bsima21:07:35

cool, thanks

bsima21:07:57

i've used component and mount, I'm just curious what others do

bsima21:07:09

I was thinking it might be possible to do something fun with different systems in different pods, for example a client task and a server task, each running in a separate pod so I can run them completely isolated from each other in development

seancorfield21:07:59

Yup, sounds feasible.

seancorfield21:07:28

We run our Expectations test suite in a pod and it does the whole component start / stop inside the pod there.

seancorfield21:07:12

(that allows us to run our test suite against different versions of Clojure all in a single Boot run)