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)
@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?
I will get there when this stabilizes
Is the brew version still pending?
brew install clojure/tools/clojure
… still fetches 1.10.2.796 (I believe)
Actually managed to get it via:
brew install clojure/tools/clojure@1.10.2.805
Is there a link?
Ah, it's still showing as pre-release on github and <https://clojure.org/releases/tools>
not updated yet.
Yeah, it's a pre-release. See https://github.com/clojure/homebrew-tools#version-archive-tool-releases
It's not announced as a pre-release
In both here, and in #releases, no tag to say it's still a pre-release.
No, but I think that's a mistake.
Right.
I was about to flag the package as out-of-date on Arch so that it can be updated. Good thing I checked...
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
Cloning: <https://github.com/cognitect-labs/test-runner>
Checking out: <https://github.com/cognitect-labs/test-runner> at cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b
Cloning: <https://github.com/babashka/babashka.pods>
Checking out: <https://github.com/babashka/babashka.pods> at a033bccaf0024b279480f2a7ac4b446621629b73
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"}
I'm now logged in with ssh. Yay CircleCI. I can debug.$ ls ~/.gitlibs/_repos/github.com/cognitect-labs/test-runner/
HEAD branches config description hooks info objects packed-refs refs
Just tell me what you want to know @alexmiller
This is a build which does not cache gitlibs, so it's cloned from afresh.
-Sforce doesn't help either:
$ clojure -Sforce -M:test
Checking out: <https://github.com/cognitect-labs/test-runner> at cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b
Checking out: <https://github.com/babashka/babashka.pods> at a033bccaf0024b279480f2a7ac4b446621629b73
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"}
Moving gitlibs aside didn't work either, same error.
It’s a prerelease, sorry
np 🙂
What’s in the libs dirs?
fwiw, I checked with 796 in a different branch and builds ok over there.
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
fwiw, on my local system (macOS) it builds fine with 805
I mean under .gitlibs/libs
Nothing, it doesn't exist
Well that seems bad :)
Maybe it is related to that circleci git config. I tried to move that aside as well, but to no avail.
I can add your public key to this build if you want, then you can check yourself
or you can clone my project + branch and build it yourself
Probably easiest to start there
Can you check the git version in ci
$ git --version
git version 2.11.0
is that too old?
I can upgrade if that helps
I am using the circleci/clojure:lein-2.8.1
image
I need to expose a couple of the things I’ve been using to debug, should have done that in this release
I think you should be able to reproduce this with the mentioned Docker image.
Let me try to make a small repro
Btw, I would be happy to upgrade my builds if needed to newer images, I just didn't do so because of laziness
no need, just wanted to know
thx for the repro, will take a look
@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.
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
@alexmiller maybe propagate the git stderr to the parent process' stderr so you can see this?
yeah, that's part of it
cool, thanks for looking into it
just trying to hook this stuff up to tools.deps etc in a good way
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.
could do
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)
Thank you! I'll update my dev env as soon as my current test suite run finishes 🙂
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).
hey, don't forget to -Sforce! :)
maybe it's time to actually solve that problem :)