Fork me on GitHub
#tools-deps
<
2019-06-29
>
dominicm08:06:30

I'm fairly confident that pack does the right thing™. We had some early issues due to the system deps.edn (although it sounds like I'm able to remove that now! 🎉). I think pack is the oldest library in this space, and I've been incredibly careful about things like classpath collisions, which other tools have been more unconcerned about.

jose11:06:53

I just installed clojure 1.10.1.455, using https://download.clojure.org/install/linux-install-1.10.1.455.sh. Running clj command starts a REPL with clojure 1.9, while if I install the previous version, 1.10.447, clj command starts a REPL with clojure 1.10.1. I think the reason is that in the latest released jar, at clojure/tools/deps/deps.edn, clojure version is set to 1.9 and that I don't require a clojure version on my ~/.clojure/deps.edn Is this the intended behavior?

Alex Miller (Clojure team)12:06:26

I know exactly why that’s happening

Alex Miller (Clojure team)12:06:28

@jlle 1.10.1.458 is now available, should fix that

👍 4
jose08:06:26

Tested it, now clj start a REPL with 1.10.1. Thanks for fixing it!

Alex Miller (Clojure team)14:06:45

For the toolsmiths out there, I'm going to deprecate the reader/clojure-env call in tools.deps.alpha (and eventually remove it). Afaik, this was being used exclusively to obtain the list of config files used by clj. As of the latest tools.deps.alpha, 0.7.516, there is a new call reader/default-deps that will return the list of deps.edn config files. The install-level deps.edn is now embedded and this function replicates the logic from clj to find the user-level deps.edn and project-level deps.edn without shelling out (so also OS-safe). I sent a few PRs to places where I could find people doing this. @dominicm @olical @seancorfield @taylor

👍 12
❤️ 4
Olical15:06:30

Wonderful, thank you very much!

dominicm15:06:36

I think that I embedded my own copy of the system deps.edn a while ago. I'll make an issue to remove it and switch to whatever I'm supposed to be doing now.

Alex Miller (Clojure team)15:06:27

lmk if you have any questions

👍 4
dominicm15:06:58

looks like the read-deps call in pack can now be a direct call to t.d.a, I was doing something very similar with a slurp to the deps.edn file.

dominicm15:06:57

quite ot, but why did you ^:const the path to the install deps.edn? As in, what made you think to do it? j/w, I've never really seen code use ^:const. Oh, is it because of optimizing performance in t.d.a as much as possible in order to minimize startup time?

Alex Miller (Clojure team)15:06:40

it is literally a string constant, so it can be inlined

Alex Miller (Clojure team)15:06:13

I think there is no chance of any perf difference you'd notice :)

Alex Miller (Clojure team)18:06:59

New clj 1.10.1.458 and tools.deps.alpha 0.7.516 are now available https://groups.google.com/forum/#!topic/clojure/trzlw4gCobM

Alex Miller (Clojure team)18:06:08

@vlaaad this fixes the thing you pinged about yesterday

vlaaad18:06:16

Nice, thanks!