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?