Maven and ABCL
alanruttenberg at gmail.com
Fri Apr 7 23:15:59 UTC 2017
If you are familiar with the architecture, perhaps you can give me some
hints where to intervene. The behavior I want is:
Assume I load a system at top-level and sprinkled in it or its dependencies
there are a number of :mvn-modules as described earlier.
During preparation, the dependencies, exclusions, and managed-dependencies
are collected at the level of the top-level system.
Then, before any lisp or other files are loaded a single call is made to
compute the combined maven dependencies and they are resolved and added to
Finally the rest of the load goes as it usually does, although the
:mvn-module components compile and loads are no-ops since their work has
already been done up-front.
On Fri, Apr 7, 2017 at 5:48 PM, Robert Goldman <rpgoldman at sift.net> wrote:
> 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 gmail.com <mailto: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
> > 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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the armedbear-devel