clojure-uk

A place for people in the UK, near the UK, visiting the UK, planning to visit the UK or just vaguely interested to randomly chat about things (often vi and emacs, occasionally clojure). More general the #ldnclj
jiriknesl 2020-09-10T04:09:07.209200Z

Morning

mccraigmccraig 2020-09-10T06:14:27.209600Z

¡¡måning¡¡

dharrigan 2020-09-10T06:33:32.209800Z

Good Morning!

djm 2020-09-10T06:34:51.210Z

👋

yogidevbear 2020-09-10T07:54:55.210200Z

Morning

yogidevbear 2020-09-10T07:55:36.210600Z

Anyone seem the photos of SF yesterday?

yogidevbear 2020-09-10T07:56:05.211200Z

It's like a scene out of The Martian

2020-09-10T08:15:42.211900Z

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

thomas 2020-09-10T08:23:45.212100Z

mogge

2020-09-10T09:04:26.213Z

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

2020-09-10T09:34:07.213500Z

@peterwestmacott yes we use it. You can use Depot or deps-ancient for that… See also: https://github.com/clojure/tools.deps.alpha/wiki/Tools

dharrigan 2020-09-10T09:41:52.213800Z

I use antq

2020-09-10T10:26:13.215Z

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?

dominicm 2020-09-10T10:39:48.215600Z

I think depot works despite being done.

dominicm 2020-09-10T10:40:01.216Z

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

2020-09-10T12:15:56.216700Z

Morn'

seancorfield 2020-09-10T15:32:44.219500Z

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

seancorfield 2020-09-10T15:34:15.221400Z

(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)

2020-09-10T15:34:24.221700Z

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

seancorfield 2020-09-10T15:35:32.223100Z

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!

2020-09-10T15:36:13.224500Z

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?

seancorfield 2020-09-10T15:36:27.224800Z

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

seancorfield 2020-09-10T15:37:32.226200Z

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.

👍 1
seancorfield 2020-09-10T15:37:50.226600Z

Reading the EDN only works in very simple setups.

2020-09-10T15:38:29.226900Z

thanks!

seancorfield 2020-09-10T15:42:10.228300Z

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.

👍 1
2020-09-10T15:45:18.229500Z

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

2020-09-10T15:46:03.230100Z

I guess it is still alpha!

seancorfield 2020-09-10T15:46:12.230300Z

It will be interesting to see what tools.build offers.

👀 1
seancorfield 2020-09-10T15:46:41.230900Z

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

2020-09-10T15:47:42.231200Z

is that a secret project?

2020-09-10T15:47:57.231500Z

or am I bad at search engines?

seancorfield 2020-09-10T15:50:06.232700Z

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

seancorfield 2020-09-10T15:51:02.233800Z

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.