This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-07-18
Channels
- # aleph (12)
- # beginners (31)
- # boot (67)
- # cider (17)
- # cljs-dev (14)
- # clojure (111)
- # clojure-dev (1)
- # clojure-france (4)
- # clojure-gamedev (1)
- # clojure-italy (49)
- # clojure-nl (3)
- # clojure-poland (2)
- # clojure-russia (18)
- # clojure-spec (15)
- # clojure-uk (68)
- # clojurescript (33)
- # core-typed (1)
- # datomic (15)
- # emacs (3)
- # graphql (4)
- # hoplon (36)
- # leiningen (3)
- # lumo (44)
- # mount (2)
- # off-topic (46)
- # om (21)
- # onyx (47)
- # parinfer (22)
- # pedestal (21)
- # protorepl (4)
- # quil (4)
- # re-frame (15)
- # reagent (4)
- # ring-swagger (9)
- # rum (27)
- # spacemacs (11)
- # vim (7)
- # yada (8)
@seancorfield - Thanks a million! 🙂
@seancorfield - Hmmmm… It’s not erroring out, but the web-app is not starting up - I get an nrepl reporting itself as “up” and then nothing…
It's never too late 🙂
Well, hopefully not 😆 I still have loads to learn
@maleghast have a hug :hugging_face:
So do most people here use Leiningen, Boot, or a bit of both with their (new) projects?
P.s. Hello 👋
The moral of this story is build to a live or live-like environment LONG before you need to deliver something…
@yogidevbear - Hello there 🙂 To answer your question, I use Leiningen for EVERYTHING Clojure, except the thing I am building right now__
I haven't really done much with Boot yet (I think partly because a lot of the learning resources/books I've been using were probably developed before Boot came into the picture
So Leiningen was more of the "de facto"
@yogidevbear it was / still is for me - I am using Boot because I am using (Juxt/)Edge on this project and Edge is Boot-based.
good morning (just)
@elise_huard - Morning!
I’ve asked in #boot but I think everyone’s asleep… How do I launch a REPL that connects to my nrepl server?
@maleghast you need to tell it to start a client only
@minimal Thanks, that works nicely… Sadly getting into the nrepl for the app has not helped me… The web-app is simply not starting up in “:prod” mode and I have no idea why not…
@minimal - Yeah, thanks 🙂 I was not asking you for help with that side of it, though would have been overjoyed if you were in a position to help! 😉
@maleghast have you asked in #yada ? they might be able to help.
@dominicm - Crikey! Well enjoy EuroClojure; with any luck I’ll be at it next year… 😞
@thomas - I would, but I had spotted that @malcolmsparks is showing as offline, showing at least, so I was stopping short of pinning my hopes on that…
@maleghast Malcolm is probably on his way to Berlin as well
@dominicm would you give @malcolmsparks a :hugging_face: from me pls?
Super jealous of the JUXT peeps heading off to EuroClojure 😉
Enjoy it guys
Hopefully I can come next year
Got my ticket to ClojureX this year so really happy about that 🙂
I saw one the speakers of ClojureX advertised.. some Sparks guy. Will hold out hope for the wider line up.
@otfrom thanks!
@maleghast do you need some help? We have just landed in Berlin and happy to help.
Thanks @malcolmsparks - @dominicm has got me sorted, thanks 🙂 Couple of changes needed to build.boot and being a Boot n00b I was drowning, but he’s nailed it.
Cheers. Glad you got it sorted! @dominicm is the best
@maleghast We used Leiningen for everything up until the end of 2015 when we switched to Boot. Boot has enabled us to do a lot more than Leiningen allowed, and Boot tasks are much easier to write than Leiningen plugins. Almost our entire build/test/deploy pipeline is handled by Boot now (in a single JVM!), whereas it was a mix of Ant, shell scripts, and multiple Leiningen invocations (with two JVMs each time).
I love the ad-hoc taskiness of boot. Switching to boot made quite clear some strange setups we had in leiningen
It allowed us to compute dependencies on the fly from EDN files, inspecting namespace dependencies in code to figure out which sub-projects were needed to build uberjars.
We have a version.properties
file that lets us "pin" the version of any dependency, e.g., org.clojure/clojure=1.9.0-alpha17
and then in various sub-projects' deps.edn
files we have [org.clojure/clojure "x.y.z"]
and our Boot task automatically computes the version. We also break our code into "sub-projects" in any way we choose and we have Boot tasks that walk all the sub-projects, looking at namespaces defined and used, as well as deps.edn
files, and compute the actual set of dependencies for building an uberjar from any given sub-project. Makes it so much easier to build a new application: create a new sub-project, add deps.edn
, just start requiring code from anywhere in our code base -- Boot figures out the dependencies for us!
We can also have Boot enforce any rules we have about certain sub-projects not using other sub-projects (e.g., we have an SDK sub-project that can only be used from certain sub-projects and in turn cannot use certain other sub-projects). If we accidentally introduce a "bad" namespace dependency, Boot won't let us build any JARs until we fix it.