Fork me on GitHub
#tools-build
<
2023-01-29
>
jjttjj17:01:31

I'm running into a situation where if I use two aliases simultaneously, with different versions of the same maven dependency, an older version in the user config home deps.edn, and more recent version in the project deps.edn alias, the most recent version isn't being used. But I can't seem to immediately make a minimal example of this. Are there known reasons this might happen?

Alex Miller (Clojure team)17:01:00

can you provide a deps.edn and how you're using it?

Alex Miller (Clojure team)17:01:47

like are you using create-basis in tools.build? if so, by default it does not use the user deps.edn in config

Alex Miller (Clojure team)17:01:38

to do so you would call (create-basis {:user :standard})

jjttjj17:01:42

Ah sorry I meant to post this question in tools-deps, I'm just using the clojure CLI

jjttjj17:01:31

Will see if I can figure out a minimal repro but my first trivial attempt was working correctly

jjttjj17:01:15

Though actually now that you mention it maybe create-basis will be useful for debugging this 😅

Alex Miller (Clojure team)17:01:45

if you're using the CLI, I would also look at -Stree or -Strace to diagnose

🙏 2
borkdude19:01:44

@U064UGEUQ you're not by any chance having a :deps (without alias) entry in your user clojure deps.edn right?

borkdude19:01:37

This came up in #C6QH853H8 once: it takes priority over whatever your local deps are which can be confusing

practicalli-johnny20:01:15

I'd prefer to use a single def to define the configuration for build tasks, rather than individual def statements. Does this example at https://practical.li/clojure/clojure-cli/projects/tools-build/#build-tasks seem to be a reasonable approach? Any alternatives that would make it simpler or anything basic I have missed? Thanks.

Alex Miller (Clojure team)20:01:22

yes, it is a reasonable approach

👍 2