Fork me on GitHub
#leiningen
<
2017-01-05
>
danielcompton00:01:03

@jerger_at_dda not 100% sure I understand what you're trying to do, but have you looked at Leiningen's new managed dependencies features?

jerger_at_dda17:01:26

I'm searching for a way to use [lib-dep "1.0.0"] in myclient without re-compile & install / deploy of liba.

jerger_at_dda17:01:21

If I understand the FAQ https://github.com/technomancy/leiningen/blob/master/doc/FAQ.md correct, it should be enought, to define client as follows: (defproject myclient :dependencies [[lib-dep "1.0.0"] [liba]]). Is this correct?

csm19:01:56

I think leiningen would use the more recent lib-dep, but you can also just do [liba :exclusions [lib-dep]] to avoid pulling in the older version

jerger_at_dda19:01:38

Unfortunately your assumption is wrong, I traced this in some cases in very detail (to get the idea there are wrong versions involved took me some hours ... ). The mentioned FAQ says "The decision depends on which depth and which order the dependencies come in the :dependencies vector" - but I did not figure out, which kind of order is the right one. Exclusions are working fine, but having more than 10 exclusions will get unhandy also ...

csm19:01:31

too bad it doesn’t take the more recent artifact. But most people agree that dependency trees and resolution is one of the worst parts of the whole ecosystem

csm19:01:47

(see also Rich’s conj talk from this year)