Fork me on GitHub



Good Morning!


Anyone seem the photos of SF yesterday?


It's like a scene out of The Martian

Ben Hammond08:09:42

i like the idea that the iphone photography software assumes its wrong, and rebalances the colours


Not only iPhone. I took some photos with my One+ 7 Pro and they also got color-corrected 😞

Rachel Westmacott09:09:26

Morning! is anyone here using deps.edn, and if so do you have a "lein-ancient" equivalent that is prefered?


@peterwestmacott yes we use it. You can use Depot or deps-ancient for that… See also:

Rachel Westmacott10:09:13

depot is not actively maintained, deps-ancient is broken for the latest tools.deps and antq doesn't actually update your dependencies - am I missing something?


I think depot works despite being done.


Most tools won't touch your deps.edn to protect your comments and such.


Not only iPhone. I took some photos with my One+ 7 Pro and they also got color-corrected 😞


@peterwestmacott Depot has an update mode but I think tools modifying my project config is a Bad Idea(™). My main complaint with most of these outdated deps tools is that they don't follow the same semantics as the CLI / deps.edn because they try to read the EDN files directly instead of relying on t.d.a's semantics for finding and merging dependencies under aliases etc.


(in particular, we use CLJ_CONFIG at work to override the user-level deps with a repo-specific one, and then we have a deps.edn in each of our 30+ subprojects in the repo -- and we rely heavily on :override-deps in the "master" file, which those tools can't cope with)

Rachel Westmacott15:09:24

we've gone with depot for now - it claims to leave your whitespace and comments alone


We used to use Depot at work. Up to 1.8.4 (where it used to follow the CLI / deps.edn semantics correctly). But the update code used different rules to the reading/reporting code, and then in 2.x they switched the reading/reporting code to use the same (incorrect) semantics as the update code. Argh!

Rachel Westmacott15:09:13

I'm curious about "they don't follow the same semantics as the CLI / `deps.edn` " - what problems do you actually see in the real world as a result?


So I wrote my own, using a shell script that just runs clojure -X:deps tree against two sets of deps (the repo set and a synthetic set created from those).


As noted above: not respecting CLJ_CONFIG, not working properly with aliases, not following :local/root semantics. Lots of things that are avoided by leveraging t.d.a instead of just trying to read EDN files directly.

👍 3

Reading the EDN only works in very simple setups.


I suspect I'm more sensitive to that issue because of the setup we have at work: a monorepo with lots of subprojects, that depend on each other via :local/root, and nearly all of our dependencies are specified as {} for the version, which is supplied from a separate deps.edn alias (`:defaults`) via :override-deps.

👍 3
Rachel Westmacott15:09:18

It feels a bit like there's a world of things cobbled together (not in a derogatory sense) around deps.edn but as yet no Right Way(™) to do it all

Rachel Westmacott15:09:03

I guess it is still alpha!


It will be interesting to see what offers.

👀 3

I've talked with Alex a lot about that, in the context of JAR building and depstar.

Rachel Westmacott15:09:42

is that a secret project?

Rachel Westmacott15:09:57

or am I bad at search engines?


Alex has mentioned it on and off in some Inside Clojure blog posts and in the #tools-deps channel here.


It's stuff that's coming out of the work they do at Cognitect on Datomic and other projects. Beyond it having a JAR builder feature, not much has been discussed in any detail.