Maven and ABCL

Alan Ruttenberg alanruttenberg at gmail.com
Fri Apr 7 21:06:32 UTC 2017


On Fri, Apr 7, 2017 at 4:27 PM, Alan Ruttenberg <alanruttenberg at gmail.com>
wrote:

> It doesn't address what to do about potentially conflicting maven
> artifacts loaded by distinct asdf systems.
>

Here's one approach.

:managed-dependencies are specifications of  versions that should take
precedence over versions that are in the transitive closure of some
dependency.

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.
Many times this can be fixed by modifying the specification of the managed
dependency to be looser, and changing the order of loaded systems.

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.

Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20170407/6de2dcfc/attachment.html>


More information about the armedbear-devel mailing list