tools-deps

Discuss tools.deps.alpha, tools.build, and the clj/clojure command-line scripts! See also #depstar #clj-new
seancorfield 2021-03-04T02:04:39.131200Z

com.github.seancorfield/clj-new {:mvn/version "1.1.264"} -- Create new applications and libraries with the Clojure CLI -- https://github.com/seancorfield/clj-new/releases/tag/v1.1.264 -- adjusts all generated projects so they follow the Clojars policy change to Verified Group Names; changes the group ID of clj-new to a VGN (releases will be double-published to seancorfield/clj-new for a while). Follow-up in #clj-new for the library, follow-up in #clojars for the policy

2👍
mkvlr 2021-03-04T14:29:00.132100Z

I’m seeing this

/t/deps ❯❯❯ clojure -version
Clojure CLI version 1.10.2.801
/t/deps ❯❯❯ cat deps.edn
{:deps {org.clojure/clojure {:mvn/version "1.10.2"}
        org.clojure/clojurescript {:git/url "<https://github.com/clojure/clojurescript>", :sha "715cdc07dbb1d595af91ea12affb6faf0b615d4b"}}}
/t/deps ❯❯❯ clojure -Stree
Error building classpath. Manifest type not detected when finding deps for org.clojure/clojurescript in coordinate {:git/url "<https://github.com/clojure/clojurescript>", :sha "715cdc07dbb1d595af91ea12affb6faf0b615d4b"}

alexmiller 2021-03-04T14:43:21.132500Z

I can't reproduce that - can you try with -Sforce ?

alexmiller 2021-03-04T14:44:18.132900Z

(git urls typically end in .git btw, although github doesn't seem to require it)

mkvlr 2021-03-04T14:45:07.133200Z

@alexmiller same:

/t/deps ❯❯❯ clojure -Sforce
Error building classpath. Manifest type not detected when finding deps for org.clojure/clojurescript in coordinate {:git/url "<https://github.com/clojure/clojurescript>", :sha "715cdc07dbb1d595af91ea12affb6faf0b615d4b"}

alexmiller 2021-03-05T12:41:18.165800Z

Yes. Or there was some logic that detected this and recloned and I removed it. Going to look at it today.

1
seancorfield 2021-03-05T16:36:23.166100Z

Happy to test more and do any debugging that might assist.

alexmiller 2021-03-04T14:45:27.133500Z

that... does not make any sense to me

mkvlr 2021-03-04T14:45:27.133600Z

(also if I append .git)

alexmiller 2021-03-04T14:45:52.133900Z

the manifest type is pulled from the :git/url ns attribute

alexmiller 2021-03-04T14:46:11.134200Z

(I'm not saying you're not seeing it, just saying I don't understand why)

mkvlr 2021-03-04T14:47:07.134600Z

I’m also a bit puzzled, works for another git dep

alexmiller 2021-03-04T14:48:23.135100Z

anything in your ~/.clojure/deps.edn? Can you try with -Srepro (that will omit that one)

alexmiller 2021-03-04T14:49:04.135400Z

can you attach the actual deps.edn file here

mkvlr 2021-03-04T14:50:02.135800Z

there you go, still reproduces with clojure -Sforce -Srepro for me

borkdude 2021-03-04T14:50:20.136300Z

$ clojure -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.2"}
        org.clojure/clojurescript {:git/url "<https://github.com/clojure/clojurescript>", :sha "715cdc07dbb1d595af91ea12affb6faf0b615d4b"}}}'
Works for me locally

mkvlr 2021-03-04T14:52:10.136600Z

clojure -Srepro -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.2"}
        org.clojure/clojurescript {:git/url "<https://github.com/clojure/clojurescript>", :sha "715cdc07dbb1d595af91ea12affb6faf0b615d4b"}}}'
Error building classpath. Manifest type not detected when finding deps for org.clojure/clojurescript in coordinate {:git/url "<https://github.com/clojure/clojurescript>", :sha "715cdc07dbb1d595af91ea12affb6faf0b615d4b"}

borkdude 2021-03-04T14:53:26.137100Z

@mkvlr try rm -rf ~/.gitlibs; rm -rf .cpcache

alexmiller 2021-03-04T14:53:44.137300Z

neither of those should be in play here

mkvlr 2021-03-04T14:56:04.137700Z

@borkdude moving ~/.gitlibs away fixed it

borkdude 2021-03-04T14:56:17.137900Z

🤷

alexmiller 2021-03-04T14:56:46.138100Z

hrm

alexmiller 2021-03-04T14:58:40.139800Z

oh, I'm misreading the error message

mkvlr 2021-03-04T14:58:47.140200Z

@alexmiller I had previously our fork at http://github.com/nextjournal/clojurescript.git of ClojureScript with the same sha in the deps.edn . Let me know if I should try to isolate the issue with ~/.gitlibs and send you a minimal version

alexmiller 2021-03-04T14:58:56.140400Z

this is not detecting a manifest type in the git working tree

alexmiller 2021-03-04T14:59:30.140800Z

it's looking for either deps.edn or pom.xml in the dir

alexmiller 2021-03-04T15:00:36.141100Z

so curious what you see in ~/.gitlibs/libs/org.clojure/clojurescript/715cdc07dbb1d595af91ea12affb6faf0b615d4b

alexmiller 2021-03-04T15:00:46.141400Z

is that maybe an empty dir?

mkvlr 2021-03-04T15:05:38.141600Z

@alexmiller yes, it’s empty

alexmiller 2021-03-04T15:07:13.141900Z

ok, well I understand the error then :)

alexmiller 2021-03-04T15:08:14.142900Z

that (I think) is a side effect of parallel download conflicts from the prior jgit impl

1👍
alexmiller 2021-03-04T15:08:52.143300Z

I was never able to repro that so I can't say that it won't happen in the new one (but I think it won't)

borkdude 2021-03-04T15:10:02.143600Z

Maybe treat an empty dir as non-existing?

borkdude 2021-03-04T15:10:19.143800Z

That would cover up the cause maybe too much

alexmiller 2021-03-04T15:19:31.144600Z

right now we use the existence of the dir as a signal, but I want to look at this more

alexmiller 2021-03-04T15:20:10.144800Z

anyhow, enqueued :)

alexmiller 2021-03-04T15:21:35.145Z

thx for trying it and reporting

mkvlr 2021-03-04T15:27:45.145200Z

thank you!

seancorfield 2021-03-04T22:26:22.146800Z

@alexmiller Is there a documented, supported way to get hold of the injected basis for a t.d.a based program? The system property went away, right? I know how to calculate the project basis but that's not necessarily the same.

seancorfield 2021-03-04T23:51:54.148500Z

I guess (t/merge-edns ((juxt :root-edn :user-edn :project-edn) (t/find-edn-maps))) is really all I need (since I'm just trying to look up available aliases, not deps at this point).