tools-deps

Discuss tools.deps.alpha, tools.build, and the clj/clojure command-line scripts! See also #depstar #clj-new
dominicm 2021-03-27T10:16:06.237600Z

https://github.com/juxt/edge/issues/132 ran into this on the latest cli. I can't figure out how I repro'd it initially, but I cannot now. Bit confused. Putting it in the "record" in cae it comes up again.

seancorfield 2021-03-27T16:09:55.239100Z

@dominicm Were you testing against prerelease versions at any time recently? There were some glitches in the new git implementation that could bork local ~/.gitlibs in some situations. Several of us testing against those versions had to rm -rf ~/.gitlibs` to fix it.

seancorfield 2021-03-27T16:11:07.240200Z

(I think everyone who went from stable to stable, without testing any prerelease versions, was OK?)

dominicm 2021-03-27T16:19:36.240300Z

@seancorfield nope, I went straight to 814.

alexmiller 2021-03-27T18:26:18.241700Z

It was possible to get this on the old stable, I think due to concurrent downloads (I never reproed it)

alexmiller 2021-03-27T18:26:49.242400Z

I believe it should be harder for that to occur in new impl

dominicm 2021-03-27T20:17:56.242500Z

I'm sure you'll be glad when you find a stable repro :D

borkdude 2021-03-27T20:44:26.242600Z

Just as an example: https://github.com/borkdude/antq/blob/bb.edn/bb.edn (ported from this Makefile: https://github.com/borkdude/antq/blob/bb.edn/Makefile)

alexmiller 2021-03-27T21:22:22.243700Z

I did try to make it happen in the new version and could not

2021-03-27T23:27:19.243800Z

This makefile is bad

2021-03-27T23:28:46.244Z

Like, the whole deal about makefiles is it tracks dependencies between files and has tasks that generate files

2021-03-27T23:29:51.244200Z

This make file has a target named 'pom' that is used to generate the file pom.xml

2021-03-27T23:30:21.244400Z

Which has no dependencies (like maybe on deps.edn?)

2021-03-27T23:30:31.244600Z

Gross

2021-03-27T23:35:28.244800Z

This task dsl is gross too. To impose a restrictive dsl without getting anything out of it (like dependency tracking) is silly. If you aren't doing extra stuff (dependency tracking, staleness tracking, rebuilding, etc) the just use normal clojure functions

2021-03-27T23:36:19.245Z

You want give some bit of functionality a name, and call it, we have defn for that

borkdude 2021-03-27T23:40:44.245200Z

This isn't my makefile btw, I just scouted some makefiles in the wild, and what I mostly see is that people just use it as a way to quickly invoke it from the command line. It's clear that you don't see the value of this, that was already clear in our earlier conversation. Thanks for the feedback.

borkdude 2021-03-27T23:41:20.245500Z

I do want to consider tracking, etc, like make does, it's done done yet