Clojurians
#boot
<
2016-03-08
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

alandipert02:03:08

anyone ever gotten user.clj to load in boot?

alandipert02:03:37

it seems not to.. and it should, as a clojure (not lein) thing

aiba05:03:04

user.clj loads for me in boot when I have a task that does (repl :init-ns ‘user)

seancorfield06:03:38

Hmm, I can't even get it to load automatically with lein repl at the moment...

seancorfield06:03:51

OK, it only loads via lein if you have a project.clj file which suggests it's a lein thing, not a Clojure thing /cc @alandipert

seancorfield06:03:29

And, yeah, like @aiba I can get Boot to load user.clj only when I specify boot repl -n user ... which sort of matches the Leiningen behavior (since Leiningen auto-loads the user namespace).

juhoteperi13:03:09

Do we have any wikipage about running Boot on CI yet?

juhoteperi13:03:30

And I synchronized wiki frontpage and sidebar

micha13:03:39

this weekend is the weekend of boot for me

micha13:03:53

going to demolish the backlog

micha13:03:39

@juhoteperi: have you tried 2.6.0-SNAPSHOT?

juhoteperi13:03:50

@micha: Nope

micha13:03:31

we have tests now, thanks to @richiardiandrea

micha13:03:06

he did a ton of difficult work in there

micha13:03:30

to get the test harness working with all the craziness of pods etc

micha13:03:04

this weekend i will merge all outstanding PRs and get everything integrated and push a final snapshot and maybe in a week or two release 2.6.0, how does that sound?

micha13:03:39

we could wait a while, too

juhoteperi13:03:41

Sounds good, we should catch up with Leiningen version number

kardan14:03:35

I'm about to put my boot app in a docker container. Do I need to build a uberjar for that or do people just “run” via the repl? Thinking that it might be difficult to run in detached mode without a tty.. But I have to admit that my knowledge in this department it kinda weak. Hence thought I would throw out a quick inquiry before I chose path. So uberjar or not?

mccraigmccraig14:03:59

@kardan: i tend to aot-compile and uberjar before docker, for a quick startup in production

micha14:03:16

with docker i usually have boot as the entry point for my app @kardan

kardan14:03:32

using repl -e “(…)" ?

micha14:03:02

you are also misha?

micha14:03:51

if you don't want to uberjar you can have in your dockerfile something like

kardan14:03:56

Sorry, my keyboard lost connection and in my fury I didn’t notice I got connected again :simple_smile:

micha14:03:37

ENTRYPOINT ["boot", "start-server", "--port", "9000"]

micha14:03:40

or something like that

micha14:03:55

if you don't want to do the uberjar, that is

kardan14:03:58

start-server is a boot task?

micha14:03:05

with the uberjar you'd have java -jar as the entry point

micha14:03:18

i usually start a repl there too, etc

kardan14:03:05

ok, will try that path. Thanks!

alandipert14:03:36

user.clj is definitely a clojure thing, https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/RT.java#L475. but a very fickle clojure thing apparently

dm314:03:51

so it basically does (load-file "user.clj") which doesn't work in Boot as the classpath containing user.clj, which is usually in dev sources, gets added after the Clojure runtime is initialized

micha14:03:00

you could do BOOT_JVM_OPTIONS='-cp dev' i think...

micha14:03:13

where dev is a directory containing user.clj

dm314:03:25

yep, just thinking how it works

dm314:03:05

I mean it's a pretty reasonable thing to expect this happen by default

dm314:03:35

not sure if adding the nrepl init-ns has exactly the same effect

dm314:03:50

I had some funky interaction with tools.namespace and mount

dm314:03:04

didn't get to the root of it

alandipert15:03:04

yeah i feel like the original use case for user.clj is no longer applicable in a boot project... like i can't imagine a reason for using it over just putting things in build.boot

alandipert15:03:24

the problem is tools, i wonder if tools.namespace and/or mount rely on it

dm315:03:39

don't think so

dm315:03:14

I think I had a configuration where I managed to get myself into a state where after loading user.clj, doing mount/start and refresh-all, mount would lose track of the vars

flyboarder18:03:33

Is anyone using a boot task which uploads to firebase? I didnt see one on the wiki, just asking before i crack into it :stuck_out_tongue:

micha19:03:07

yeah re: user.clj, one of the reasons why the default repl namespace and build.boot namespace is boot.user instead of just user is to avoid unintended interactions with other tools