Fork me on GitHub

Hello good friends! Just watched simple-made-easy talk and thought about how tooling goes in the Clojure, most precisely boot and lein. Since boot became so well established, how can we comprehend simplicity of a build tool that operates by sequence instead of a declarative map? Wouldn't that complect the process?


@vinnyataide I personally never had any problem understanding lein (haven’t used boot) - it’s documentation + sample config are also great; 90% of the time if I was looking for something the asnwer was in the sample config 🙂 here:


@raspasov had you built front-end clojurescript apps with asset precompilers?


like for CSS?


and haml for html


or jade for html


Boot is "just Clojure" so it's not complecting anything: it's basically a library and you just write Clojure code using it.


At work, we outgrew Leiningen near the end of 2015 and switched to Boot. We're very with that choice since now our tooling is all just Clojure functions.


cool, anything about this message in boot? I'm starting to use it little by little viewing each task that comes with it

Warning: version conflict detected: org.clojure/clojure version changes from 1.2.0 to 1.9.0-alpha14


I don't know exactly when this came but I'm mostly certain that was after a clojure refactor update dependencies


not sure how to roll back


ok now I found it's an yada issue gonna report there


@vinnyataide That's just a warning to let you know there's a different default dependency -- that's not a bug in yada; you can add :exclusions [org.clojure/clojure] to your yada dependency to suppress that.


You'll get used to seeing that a lot. It's harmless.


Hello. how do I define a spec for a map that must contain only one of 2 allowed keys? or, alternatively, a map that must contain at least one of 2 allowed keys?


@john2x You can use and and or inside of s/keys. (s/keys :req [(or ::x ::y)]). Note that this is not clojure.core/or, but special syntax inside the s/keys macro. This means at least one of ::x or ::y. I don't think you can say only one of ::x or ::y, as you're supposed to just ignore keys you don't care about.