Fork me on GitHub
#tools-deps
<
2023-02-01
>
practicalli-johnny03:02:45

clojure --help output seems to have a duplicated -X:deps find-versions line (at least on my machine) for the latest released version of Clojure CLI, :version "1.11.1.1208" - not sure if it was in earlier versions.

Sam Ritchie21:02:41

is it possible to depend on an alias of a git dependency? I want to depend on clerk as a git dep, but also pull in the extra-deps from this alias: https://github.com/nextjournal/clerk/blob/main/deps.edn#L36

Alex Miller (Clojure team)21:02:35

Currently, no, but that’s something we’ve been talking about lately

Alex Miller (Clojure team)21:02:00

I think it needs some consideration on both export and import sides

Alex Miller (Clojure team)21:02:07

Like a lib would want to say what aliases it exports, and I think a downstream user might want to choose what it imports too

💯 2
Sam Ritchie21:02:18

agree… in this particular case I am debating between exporting these two dependencies from my project: https://github.com/mentat-collective/clerk-utils/blob/main/deps.edn#L15-L20 and telling the user to bring their OWN clerk version, but wincing at the “please include both of these and make sure the SHA always matches”

Alex Miller (Clojure team)21:02:44

The case I was looking at is very similar

👍 2
Sam Ritchie21:02:05

oh! while I’ve got you, I had a Q - how does dependency resolution work between 1. git deps (if I include one and someone overrides it, presumably that works) 2. a git dep and the clojars version of that dep — for this one I assume there is no dependency resolution?

Sam Ritchie21:02:57

in my case this feature only works with git dependencies (the render dep is not available as a jar), so I dodge the problem. but I was was wondering if there were some way to tell tools.deps “I publish this code as a jar under this org/project, version == tag, please resolve that way” or something like that

Alex Miller (Clojure team)21:02:51

at the moment, there is no comparison logic for git to mvn

Alex Miller (Clojure team)21:02:12

so it will just fail and say you need to be explicit at top level about which one to use

Alex Miller (Clojure team)21:02:16

but, there is a hole with a todo where this logic could go. maven jars have a pom, which has scm info, and it should actually be possible to compare the published git scm info for a jar and the git dep scm info and decide which was "newer", so maybe in the future

❤️ 2