abcl-1.5.0 and MVN-MODULE (was Re: Maven and ABCL)

Mark Evenson evenson at panix.com
Tue Apr 18 05:57:25 UTC 2017


On 4/18/17 04:14, Alan Ruttenberg wrote:
[…]
> There is OSGI which is able to do this sort of thing, and there is already
> prototype code in JSS to use it. However OSGI, or multiple classloaders,
> needs a fair amount of thought to use correctly, because you can easily
> arrive at situations where compatible classes can't be used because they
> were loaded into different classloaders.
> 
> The first step is to enable managing dependencies when it *is* possible to
> run without conflicts, as with the :mvn-module I showed above. In this case
> it turns out that the dependencies only *seemed* to conflict. With the
> appropriate use of Maven there is no conflict in this case.
> 
> The thing that is different in our environment as compared to the standard
> maven situation is that we don't have a central pom for an application that
> gathers all dependencies and resolves them at once. Instead we have
> separate ASDF systems which are loaded independently and yet may have
> intertwined dependencies.

I agree that incrementally fixing the current situation along the lines
you have prototyped should occur before any dramatic overhaul with
segregated classloaders.

Currently, I am working towards a [abcl-1.5.0][] next week with the
following priorities:

1) stabilizing support for Java6 (dropping support for Java5, which in
practice given the absence of an open Java6 VM doesn't exist)

2)  Resurrect the ABCL-BUILD system to build ABCL from Lisp by
downloading and installing Ant and Maven as needed.

3)  Provide a restart for failure to find Maven, that will download and
install it in the XDG filesystem.

[abcl-1.5.0]: http://abcl.org/trac/milestone/1.5.0

Maybe we can try to squeeze your :MVN-MODULE proposal in as well.  I've
seen [your code that demonstrates the problem][1], but as I understand
it there is no exact code as you need more understanding of the
underlying ASDF mechanisms, right?  If you could take the time in the
next day or so to write up the minimal proposal for your current needs,
I will see what I can do to take a stab at its implementation.

[1]:
https://gitlab.common-lisp.net/abcl/abcl/blob/master/t/resolve-multiple-maven-dependencies.lisp


-- 
"A screaming comes across the sky.  It has happened before, but there
is nothing to compare to it now."



More information about the armedbear-devel mailing list