Fork me on GitHub
#beginners
<
2017-01-15
>
vinnyataide02:01:07

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?

raspasov03:01:09

@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: https://github.com/technomancy/leiningen/blob/master/sample.project.clj

vinnyataide03:01:41

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

raspasov03:01:14

like for CSS?

vinnyataide03:01:11

and haml for html

vinnyataide03:01:25

or jade for html

seancorfield03:01:02

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

seancorfield04:01:51

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.

vinnyataide04:01:24

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

vinnyataide04:01:08

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

vinnyataide04:01:21

not sure how to roll back

vinnyataide04:01:29

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

seancorfield05:01:55

@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.

seancorfield05:01:08

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

john2x09:01:42

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?

madstap09:01:22

@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.