Fork me on GitHub
#tools-deps
<
2021-03-10
>
Alex Miller (Clojure team)07:03:59

Clojure CLI 1.10.2.805 prerelease is now available: • Fixed git checkout implementation (issues when using multiple commits from the same repo). If you have been using prerelease 1.10.2.801 for git deps, you should update and rm -rf ~/.gitlibs • Resolution of commits now only fetches if it can't resolve, which reduces network use and improves performance • When using the CLI, if your git command is not on the path as git for some reason, you can set GITLIBS_COMMAND env var ◦ If using tools.deps.alpha / tools.gitlibs directly, you can also use the Java system properties clojure.gitlibs.dir and clojure.gitlibs.command (these take precedence over the env vars). • Fix reflection error in tools.gitlibs • Updated tools.cli, and com.cognitect.aws libs (notably moves transitive deps org.eclipse.jetty/jetty-* to 9.4.36.v20210114)

💯 12
👍 6
raspasov07:03:22

Is the brew version still pending? brew install clojure/tools/clojure … still fetches 1.10.2.796 (I believe)

raspasov07:03:35

Actually managed to get it via: brew install clojure/tools/[email protected]

seancorfield17:03:20

@alexmiller Given that 1.10.3 is available, should the CLI move to 1.10.3.x or will that happen just with the next stable CLI version?

Alex Miller (Clojure team)18:03:44

I will get there when this stabilizes

3
dharrigan08:03:25

Is there a link?

dharrigan08:03:00

Ah, it's still showing as pre-release on github and not updated yet.

dharrigan08:03:08

It's not announced as a pre-release

dharrigan08:03:22

In both here, and in #releases, no tag to say it's still a pre-release.

flowthing08:03:29

No, but I think that's a mistake.

dharrigan08:03:52

I was about to flag the package as out-of-date on Arch so that it can be updated. Good thing I checked...

Alex Miller (Clojure team)13:03:39

It’s a prerelease, sorry

borkdude12:03:21

Upgraded to 805. I'm getting: Error building classpath. Manifest type not detected when finding deps for cognitect/test-runner in coordinate {:git/url "https://github.com/cognitect-labs/test-runner", :sha "cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b"} for the test runner. https://app.circleci.com/pipelines/github/babashka/babashka-sql-pods/149/workflows/66d08efe-6975-4567-a00b-fc1317282348/jobs/751

borkdude13:03:06

Cloning: 
Checking out:  at cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b
Cloning: 
Checking out:  at a033bccaf0024b279480f2a7ac4b446621629b73
Error building classpath. Manifest type not detected when finding deps for cognitect/test-runner in coordinate {:git/url "", :sha "cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b"}
I'm now logged in with ssh. Yay CircleCI. I can debug.

borkdude13:03:30

$ ls ~/.gitlibs/_repos/github.com/cognitect-labs/test-runner/
HEAD  branches  config  description  hooks  info  objects  packed-refs  refs

borkdude13:03:50

Just tell me what you want to know @alexmiller

borkdude13:03:23

This is a build which does not cache gitlibs, so it's cloned from afresh.

borkdude13:03:42

-Sforce doesn't help either:

$ clojure -Sforce -M:test
Checking out:  at cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b
Checking out:  at a033bccaf0024b279480f2a7ac4b446621629b73
Error building classpath. Manifest type not detected when finding deps for cognitect/test-runner in coordinate {:git/url "", :sha "cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b"}

borkdude13:03:14

Moving gitlibs aside didn't work either, same error.

Alex Miller (Clojure team)13:03:47

What’s in the libs dirs?

borkdude13:03:18

circleci@702affae6f8c:~/repo$ find ~/.gitlibs
/home/circleci/.gitlibs
/home/circleci/.gitlibs/_repos
/home/circleci/.gitlibs/_repos/github.com
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/branches
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/description
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/applypatch-msg.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/commit-msg.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/post-update.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/pre-applypatch.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/pre-commit.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/pre-push.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/pre-rebase.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/pre-receive.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/prepare-commit-msg.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/hooks/update.sample
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/info
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/info/exclude
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/refs
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/refs/heads
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/refs/tags
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/HEAD
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/config
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/objects
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/objects/pack
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/objects/pack/pack-23abcb662426c523d54342d3836e0a897c01cb68.pack
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/objects/pack/pack-23abcb662426c523d54342d3836e0a897c01cb68.idx
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/objects/info
/home/circleci/.gitlibs/_repos/github.com/cognitect-labs/test-runner/packed-refs
/home/circleci/.gitlibs/_repos/github.com/babashka
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/branches
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/description
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/applypatch-msg.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/commit-msg.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/post-update.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/pre-applypatch.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/pre-commit.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/pre-push.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/pre-rebase.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/pre-receive.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/prepare-commit-msg.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/hooks/update.sample
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/info
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/info/exclude
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/refs
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/refs/heads
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/refs/tags
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/HEAD
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/config
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/objects
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/objects/pack
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/objects/pack/pack-6f8bab224fca93b17e1917922c4a19048cf98d7e.pack
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/objects/pack/pack-6f8bab224fca93b17e1917922c4a19048cf98d7e.idx
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/objects/info
/home/circleci/.gitlibs/_repos/github.com/babashka/babashka.pods/packed-refs

Alex Miller (Clojure team)13:03:02

I mean under .gitlibs/libs

borkdude13:03:27

Nothing, it doesn't exist

borkdude13:03:09

Maybe it is related to that circleci git config. I tried to move that aside as well, but to no avail.

borkdude13:03:52

I can add your public key to this build if you want, then you can check yourself

borkdude13:03:44

or you can clone my project + branch and build it yourself

Alex Miller (Clojure team)13:03:34

Probably easiest to start there

Alex Miller (Clojure team)13:03:19

Can you check the git version in ci

borkdude13:03:38

$ git --version
git version 2.11.0

borkdude13:03:02

is that too old?

borkdude13:03:29

I can upgrade if that helps

borkdude13:03:40

I am using the circleci/clojure:lein-2.8.1 image

Alex Miller (Clojure team)13:03:35

I need to expose a couple of the things I’ve been using to debug, should have done that in this release

borkdude13:03:44

I think you should be able to reproduce this with the mentioned Docker image.

borkdude13:03:04

Let me try to make a small repro

borkdude13:03:05

Btw, I would be happy to upgrade my builds if needed to newer images, I just didn't do so because of laziness

Alex Miller (Clojure team)14:03:53

no need, just wanted to know

Alex Miller (Clojure team)14:03:15

thx for the repro, will take a look

borkdude13:03:28

fwiw, I checked with 796 in a different branch and builds ok over there.

borkdude13:03:49

fwiw, on my local system (macOS) it builds fine with 805

Alex Miller (Clojure team)15:03:38

@borkdude turns out, it is related to git version. I'm using a --quiet option that was added in git 2.19 (I think), but I've removed it for the next release as it doesn't matter, and with that change your existing repro works. I think our minimum git version is probably 2.5.

Alex Miller (Clojure team)15:03:05

I will get a new release out at some point today, want to hook up the debugging stuff and include that too so that's available

borkdude15:03:49

@alexmiller maybe propagate the git stderr to the parent process' stderr so you can see this?

Alex Miller (Clojure team)15:03:21

yeah, that's part of it

borkdude15:03:33

cool, thanks for looking into it

Alex Miller (Clojure team)15:03:50

just trying to hook this stuff up to tools.deps etc in a good way

markaddleman18:03:12

Should ~/.gitlibs directory be listed as part of clj -Sdescribe ? I recently ran into a problem where the downloaded library was somehow corrupted. Deleting ~/.gitlibs fixed the problem but it took me a while to discover that the directory existed in the first place.

3
Alex Miller (Clojure team)20:03:41

Clojure CLI 1.10.3.810 prerelease is now available • Removed use of git option only available on newer gits to work with broader version range (git ≥ 2.5) • Check exit code on git dep checkout and throw with the git error • Overhauled configuration and option implementations for gitlibs, will write this up more for stable release, stuff from last release all still works • Use Clojure 1.10.3 as default Clojure version (as always, you can use any version of Clojure with any version of the Clojure CLI)

nice 6
seancorfield20:03:46

Thank you! I'll update my dev env as soon as my current test suite run finishes 🙂

seancorfield21:03:24

Seems to work fine for my relatively simple use case (although, after rm -rf ~/.gitlibs, I forgot I needed -Sforce to refresh the cache since .cpcache still referred to the now-missing .gitlibs path).

Alex Miller (Clojure team)21:03:39

hey, don't forget to -Sforce! :)

Alex Miller (Clojure team)21:03:05

maybe it's time to actually solve that problem :)