[armedbear-devel] installing java dependencies with :mvn ASDF component
Mark Evenson
evenson at panix.com
Sat Aug 10 08:23:16 UTC 2013
On 8/10/13 5:03 AM, Anton Vodonosov wrote:
> The diff from the previous message had several problems.
Thanks so much for the patch: I remember that the last time I tracked
the problems resulting from a Aether version change as being really not
a fun experience.
> After fixing the problems one by one I now have working version -
> see svn.diff attached (can't submit it as a ticket, because don't know
> how to login into the new ABCL Trac).
One should be able to login to the [ABCL Trac][1] with any
[OpenID][openid] or a common-lisp.net http digest password valid in
April 2013. I'd be happy to help you "track" down why this isn't
working for you…
[1]: http://lisp.not.org/trac/armedbear
[openid]: https://en.wikipedia.org/wiki/Openid
> I must say I now feel how convenient :mvn ASDEF componets are.
> I just do (ql:quickload :my-system) and it automatically installs
> and loads all the Lisp and Java dependencies (ApachePOI takes 8 .jar files to install).
I've always thought :MVN ASDF components as an especially useful feature
as well for Java interop. Even though using Maven from straight "Java
the language" development has its pain points, the distributed POM graph
is quite useful. Now that Aether has apparently moved to being an
Apache project, using it should be more stable (after this initial pain
point).
> As for keeping compatibility with old maven. Various approaches possible here.
> I would suggest to commit my patch and be compatible with the latest maven
> version. If necessary, record a separate ticket to generalize/conditionalize
> the :mvn components implementation to make it compatible with both old and new maven.
Unfortunately, I disagree with dropping support for pre maven-3.1.0 by
committing your patch as this would be disruptive to those following
trunk who haven't updated their Maven installations yet. Of course, our
survey size for determining this course of inaction was rather small.
Well, ok, the survey only included me, but since maven-3.1.0 has not
shown up upstream in any of the OS package systems that I actively use
(FreeBSD, MacPorts, Debian, OpenIndiana), I am pretty sure that I am not
the only one that would be disrupted (if there are more users of
ABCL-ASDF than you and I, of course…)
That being said, I will endeavor to incorporate your patch in a way
which maintains compatibility into trunk in the next few days.
Other than a hack 'n slash (IF old-maven new-maven) job, I wonder if
there is a more elegant way to deal with the package change. My gut
feeling is that I would need to re-organize the code so substantially,
that I would then have to chase down bugs from that reorg. If it were
just a simple renaming of package, I think I could whip up an appropiate
macro, but from looking at your patch, it seems that there are a couple
behavioral API changes as well.
Anyone have any elegant ideas on how to maintain compatibility with both
versions of Aether or point to an example of something clever that I can
study for inspiration?
--
"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