Maven and ABCL

Robert Goldman rpgoldman at
Fri Apr 7 21:48:38 UTC 2017

On 4/7/17 Apr 7 -4:06 PM, Alan Ruttenberg wrote:
> On Fri, Apr 7, 2017 at 4:27 PM, Alan Ruttenberg
> <alanruttenberg at <mailto:alanruttenberg at>> 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.

Yes, ASDF has a "plan, then execute" model of operation, so it won't
load anything until inspecting all the systems involved.

More information about the armedbear-devel mailing list