#436: feature request maven exclude dependency ------------------------------+---------------------- Reporter: aruttenberg | Owner: mevenson Type: enhancement | Status: accepted Priority: blocker | Milestone: Component: java | Version: Resolution: | Keywords: Parent Tickets: | ------------------------------+----------------------
Comment (by mevenson):
Text of Faré's proposal https://mailman.common-lisp.net/pipermail/asdf- devel/2017-May/005775.html
{{{ 0- Aim for a single coherent set of jars within a given build, because otherwise lies madness.
1- Within a given plan-then-perform phase, collect the set of jars and their version intervals in a :before method on perform-plan that talks to maven and uses some heuristic to resolve versions.
2- Across plan-then-perform phases of a same build session, record which versions were loaded, and issue an error if it's incompatible.
3- Across build sessions, remember what version was previously loaded, and unload/shadow it if it is incompatible (or throw an error if you can't), and decide whether to keep or upgrade (if possible) if it's compatible.
As to writing a system that solves issues across phases, in your worst case, your toplevel system would :defsystem-depends-on a system that loads all the proper versions of all the jar files (or at least the problematic ones), and then whichever phase causes some version to be loaded will have been preempted by that first defsystem-depends-on system.
}}}
-- Ticket URL: http://abcl.org/trac/ticket/436#comment:8 armedbear http://abcl.org armedbear