fixing Yanel's Maven dependencies handling (was: Re: [Yanel-dev] updating fop)

Guillaume Déflache guillaume.deflache at wyona.com
Tue Nov 3 22:17:31 CET 2009


simon a écrit :
> hi all

Hi!


> i would like to propose updating fop. now we are using fop-0.93 which is 
> more then two years old and has some bugs which causes problem with my 
> curent work (e.g. can not handle transparent png). the newest version 
> fop-0.95 doesn't have this problems anymore.

I think this would indeed be great! I am a long-time fan of FOP! :)


> to work around this problems i replaced fop with the newest version 
> within yanel. this seem to work fine. but it would be nicer if i don't 
> have to ;-)

0.95 is in principle supposed to be backward-compatible with 0.93, 
right? (Just asking to know if there is a official compatibility policy 
written somewhere, as by the version numbers only this is still admitted 
to be pre-1.0 and so maybe problematic as regards API compatibility, etc.)


> fop has some dependencies which needs to be updated as well.
> - commons-io-1.4
> - commons-logging-1.1.1
> - fop-0.95
> - xmlgraphics-commons-1.3

http://repo1.maven.org/maven2/org/apache/xmlgraphics/fop/0.95-1/fop-0.95-1.pom 
and http://repo1.maven.org/maven2/org/apache/xmlgraphics/fop/0 with 
.95/fop-0.95.pom say otherwise:
- they use different versions, which are probably the oldest that are needed
- they use a lot of other not-optional-and-not-put-in-a-submodule SVG 
JAR deps from Batik, which you probably did not need
- they also require Avalon framework API, which you probably got from 
Yanel or something else
- they also require XML Graphics Commons, which maybe is also ony need 
for SVG stuff

My point here is: Michi and I agree that from now on we should strive to 
use the pristine POM files for each project (e.g. those coming from 
http://repo1.maven.org/maven2/ AFAIK) so as to be able to finally fix 
Yanel's "duplicated libraries" problem: 
http://bugzilla.wyona.com/cgi-bin/bugzilla/show_bug.cgi?id=7006 (and 
coincidentally 
http://bugzilla.wyona.com/cgi-bin/bugzilla/show_bug.cgi?id=6896 and 
http://bugzilla.wyona.com/cgi-bin/bugzilla/show_bug.cgi?id=4771 as we go 
along)

Did you use another repository or no Maven repo at all to get the JARs?


Sorry this simple request morphs to a huge thing! ;)

I guess our options are, from the hackiest to the most long-term 
beneficial one:

1) we add a fixed (see remarks above) FOP 0.95 POM and the corresponding 
artifacts in current Wyona's own repo at http://maven2.wyona.org/ 
(Simon, do you have write access to that?)

2) you grab the dependencies directly from your own project hoping or 
else ensuring thanks to bug 7006's workaround that you don't get 
duplicated libraries but only the latest versions of them as should be

3) we start another /clean/ mirror of Maven main repo which would this 
time not be a 
one-time-copy-and-as-such-bound-to-be-always-somewhat-out-of-date of the 
Maven central repo, but some kind of actively-synchronized proxy of it, 
using for example "Dead Simple Maven Proxy" 
(<http://www.pdark.de/dsmp/>) as it's the only repository manager I know 
about (via 
http://blogs.exist.com/oching/2007/11/05/the-hype-about-repository-managers/ 
search there for "patches") that seems to be able to override POMs; the 
question remains if we can easily use both at the same time while in the 
repo transition phase.

HTH,
    Guillaume


More information about the Yanel-development mailing list