tools-deps

Alex Miller (Clojure team) 2023-12-29T22:35:49.445869Z

there is a new pre-release of the CLI available if anyone wants to try it, version 1.11.1.1435: • TDEPS-238 - deps.edn files are now validated against specs • TDEPS-239 - treat empty deps.edn file as {} • Updated several dependencies (kind of an interim point towards resolving the maven dep library upgrade) • Removed the guava dependency, which is big and always lagging cve-wise, and afaict was not needed as we don't use guice injection in maven

❤️ 1
Alex Miller (Clojure team) 2024-01-02T19:33:19.786089Z

just re-bumping this in case anyone missed it last week, would be happy to see any extra eyeballs

2024-01-02T20:10:10.586949Z

ran it over the libraries tracked in core-regression, and all deps.edn tests passed, so that's 66 big-name libraries that are good to go

Alex Miller (Clojure team) 2024-01-02T21:16:28.286169Z

thx

practicalli-johnny 2024-01-02T23:04:59.691749Z

I am getting an error when starting a repl with nrepl that wasnt there before I upgraded Clojure CLI to the pre-release (it could be a change in the nrepl library itself)

Execution error (FileNotFoundException) at nrepl.cmdline/require-and-resolve (cmdline.clj:221).
Could not locate cider/nrepl__init.class, cider/nrepl.clj or cider/nrepl.cljc on classpath.
I've tried it on an empty project and an existing project with a few different alias. I'll see if I can find out more info

practicalli-johnny 2024-01-02T23:12:36.741759Z

Curious, an error is happening with cider/cider-nrepl 44.0 but the pre-release seems to work okay with 43.3, so probably an issue with Cider

practicalli-johnny 2024-01-02T23:20:43.439259Z

False alarm, it seems its an issue with Cider-nrepl 0.44.0 that I hadnt noticed before.

seancorfield 2024-01-02T23:21:38.307639Z

(~/clojure)-(!2005)-> clj -version
Clojure CLI version 1.11.1.1435

Tue Jan 02 15:20:15
(~/clojure)-(!2006)-> clj -Sdeps '{:deps {cider/cider-nrepl {:mvn/version "0.43.3"}}}'
Downloading: cider/cider-nrepl/0.43.3/cider-nrepl-0.43.3.pom from clojars
Downloading: cider/orchard/0.20.0/orchard-0.20.0.pom from clojars
Downloading: cider/orchard/0.20.0/orchard-0.20.0.jar from clojars
Downloading: cider/cider-nrepl/0.43.3/cider-nrepl-0.43.3.jar from clojars
Clojure 1.12.0-alpha5
user=> (require 'cider.nrepl)
nil
user=>

Tue Jan 02 15:20:43
(~/clojure)-(!2007)-> clj -Sdeps '{:deps {cider/cider-nrepl {:mvn/version "0.44.0"}}}'
Downloading: cider/cider-nrepl/0.44.0/cider-nrepl-0.44.0.pom from clojars
Downloading: cider/orchard/0.21.0/orchard-0.21.0.pom from clojars
Downloading: cider/cider-nrepl/0.44.0/cider-nrepl-0.44.0.jar from clojars
Downloading: cider/orchard/0.21.0/orchard-0.21.0.jar from clojars
Clojure 1.12.0-alpha5
user=> (require 'cider.nrepl)
nil
user=>
point_up::skin-tone-2 more complicated than this case, which works?

practicalli-johnny 2024-01-02T23:23:47.646349Z

Nope, same three dependencies and the same main-opts as I've use for a while...

;; clojure -M:repl/rebel
  :repl/rebel
  {:extra-deps {nrepl/nrepl                {:mvn/version "1.1.0"}
                cider/cider-nrepl          {:mvn/version "0.44.0"}
                com.bhauman/rebel-readline {:mvn/version "0.1.4"}}
   :main-opts  ["--eval" "(apply require clojure.main/repl-requires)"
                "--main" "nrepl.cmdline"
                "--middleware" "[cider.nrepl/cider-middleware]"
                "--interactive"
                "-f" "rebel-readline.main/-main"]}

practicalli-johnny 2024-01-02T23:39:10.729439Z

Looks like it was a corrupted download for that library dependency. I nuked the local maven repo and the pre-release and latest release of the Clojure CLI are working (which gave an opportunity for the pre-release to download all my dependencies again) Also successfully tested a project with an empty deps.edn

🙏 1
🎉 1
seancorfield 2023-12-29T22:52:52.900639Z

I'll put that in place at work in about 20 mins to see how things go 🙂 and then I'll run tests on all my OSS projects.

Alex Miller (Clojure team) 2023-12-29T22:54:37.188129Z

Thx

seancorfield 2023-12-29T23:22:18.579389Z

Ran it across every OSS project I (running tests, running build.clj targets) and also a full build cycle at work (lots of build.clj targets etc) and found no problems. I'm now running clojure -X:deps list in every folder on my machine that has a deps.edn file! 🙂

seancorfield 2023-12-29T23:39:48.727979Z

That was about 250 random projects or project fragments. No problems found in any of them.

2023-12-30T00:20:16.401229Z

What’s the best way to run this temporarily?

seancorfield 2023-12-30T00:58:12.137779Z

You can use one of the install scripts here https://github.com/clojure/brew-install/releases/tag/1.11.1.1435 and then use the regular install script to re-install 1.11.1.1429 if you need to.

seancorfield 2023-12-30T00:59:37.311859Z

If you use brew you can install a specific version: brew install clojure/tools/clojure@1.11.1.1435 (and target 1.11.1.1429 if you need to revert).

2023-12-30T01:06:45.916469Z

Ah great, thanks Sean

Mateusz Mazurczak 2024-01-01T22:10:53.435999Z

The guava removed is an awesome change!

Alex Miller (Clojure team) 2023-12-29T22:37:54.452539Z

particularly, if you try it and don't see any issues, would appreciate a 👍 here. while I did check TDEPS-238 against a corpus of deps.edn's I had lying around, would hate to start failing a deps.edn load somewhere. for TDEPS-239, cc @pez as he was looking for that for Calva. I will plan to promote this to new stable sometime next week unless I hear otherwise.

👍 2
👍🏻 1
❤️ 1
Alex Miller (Clojure team) 2023-12-29T22:40:22.426529Z

doing the maven core dep updates to 3.9.x is going to take some re-work but I've charted a course towards that

Alex Miller (Clojure team) 2024-01-02T19:34:26.845979Z

if this path works (still tbd), I think it will be a big step forward in terms of clean use of maven resolver and associated deps, should be able to kill off some more deps

🎉 3