<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 7, 2017 at 4:27 PM, Alan Ruttenberg <span dir="ltr"><<a href="mailto:alanruttenberg@gmail.com" target="_blank">alanruttenberg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_extra">It doesn't address what to do about potentially conflicting maven artifacts loaded by distinct asdf systems.</div><div class="gmail-yj6qo gmail-ajU"><div id="gmail-:1et" class="gmail-ajR" tabindex="0"><img class="gmail-ajT" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div></blockquote></div><br>Here's one approach.</div><div class="gmail_extra"><br></div><div class="gmail_extra">:managed-dependencies are specifications of  versions that should take precedence over versions that are in the transitive closure of some dependency.</div><div class="gmail_extra"><br></div><div class="gmail_extra">As each asdf system which has used maven dependencies computes its set of satisfying dependencies, the particular versions chosen become default managed-dependencies for subsequent systems. If two managed dependencies conflict (e.g. I include a  version 1.1 as managed dependency in system A, which is loaded. Subsequently system B specifies version 1.2 as a managed dependency, then an error is signaled.</div><div class="gmail_extra">Many times this can be fixed by modifying the specification of the managed dependency to be looser, and changing the order of loaded systems.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I think moving this into the planning phase is probably the right thing. I'm just not familiar enough with asdf's model to whip up a solution. Hopefully asdf's planning runs over all systems that are depended on before loading anything, in which case I think this will be a viable solution, module the case of conflicting managed dependencies, or dependency hell you would arrive at if you were using maven alone.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Alan</div><div class="gmail_extra"> </div></div>