logo       

Re: Maven artifacts for Batik: msg#00003

Subject: Re: Maven artifacts for Batik
Cameron McCormack wrote:

> Hi Michael.
>
> Michael Heuer:
> > I am a user of Batik that uses Maven2.  Please let me know how I might
> > help...
> >
> > I am still using the 1.6 poms in my project, listed individually because
> > the transitive dependencies are broken in those versions:
> >
> > http://dishevelled.svn.sourceforge.net/viewvc/dishevelled/trunk/iconbundle/pom.xml
> >
> > The 1.6-1 versions uploaded in an attempt to fix the problem are not much
> > better -- they pull in an incredible list of (what seem to be)
> > unnecessary dependencies, such that the list of exclusions turns out to be
> > longer than the original list of dependencies.
>
> Oh, OK.  Can you give me an example of an unnecessary dependency in the
> Batik 1.6-1 POMs, and what sort of exclusions you have to do?  (Want to
> make sure I don’t make the same mistake.)

I'm sorry, it's not as bad as I made it out to be.

My only compile-time dependency is to batik-transcoder.  With the 1.6 poms
I calculated a list of necessary runtime dependencies by hand:

compile
batik   batik-transcoder        1.6

runtime
batik   batik-awt-util  1.6
batik   batik-bridge    1.6
batik   batik-css       1.6
batik   batik-dom       1.6
batik   batik-ext       1.6
batik   batik-extension 1.6
batik   batik-gvt       1.6
batik   batik-parser    1.6
batik   batik-rasterizer        1.6
batik   batik-script    1.6
batik   batik-svg-dom   1.6
batik   batik-svggen    1.6
batik   batik-svgpp     1.6
batik   batik-ttf2svg   1.6
batik   batik-util      1.6
batik   batik-xml       1.6
xerces  xercesImpl      2.6.2

transitive runtime
xml-apis        xmlParserAPIs   2.0.2


Without explicit xerces 2.6.2 runtime depenency xerces version 2.5.0 is
used:

transitive runtime
xerces  xercesImpl      2.5.0
xml-apis        xmlParserAPIs   2.0.2


With batik-transcoder 1.6-1 compile and no runtime dependencies, I get
test failures with jdk 1.6.0_03, such as:

java.io.IOException: SAX2 driver class
org.apache.crimson.parser.XMLReaderImpl not found
        at
org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:353)
        at
org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:276)
        at
org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:158)
        at
org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:231)
        at
org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:118)
...

java.lang.NoSuchMethodError:
org.apache.batik.ext.awt.image.renderable.ClipRable.getUseAntialiasedClip()Z
        at org.apache.batik.gvt.AbstractGraphicsNode.paint(Unknown Source)
        at
org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(Unknown Source)
        at org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.genRect(Unknown
Source)
        at
org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.copyData(Unknown Source)
        at
org.apache.batik.ext.awt.image.rendered.TileCacheRed.genRect(TileCacheRed.java:53)
        at
org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.drawBlockInPlace(AbstractTiledRed.java:594)
        at
org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.drawBlock(AbstractTiledRed.java:527)
        at
org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.copyToRasterByBlocks(AbstractTiledRed.java:420)
        at
org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.copyData(AbstractTiledRed.java:287)
        at
org.apache.batik.ext.awt.image.rendered.TranslateRed.copyData(TranslateRed.java:97)
        at
org.apache.batik.ext.awt.image.rendered.PadRed.copyData(PadRed.java:87)
        at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown
Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown
Source)
        at
org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:105)
        at
org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:132)


compile
batik   batik-transcoder        1.6-1

transitive compile dependencies
avalon-framework        avalon-framework        4.0
batik   batik-1.5-fop   0.20-5
batik   batik-awt-util  1.6-1
batik   batik-bridge    1.6-1
batik   batik-css       1.6-1
batik   batik-dom       1.6-1
batik   batik-ext       1.6-1
batik   batik-gui-util  1.6-1
batik   batik-gvt       1.6-1
batik   batik-parser    1.6-1
batik   batik-script    1.6-1
batik   batik-svg-dom   1.6-1
batik   batik-util      1.6-1
batik   batik-xml       1.6-1
fop     fop     0.20.5
xalan   xalan   2.4.1
xerces  xercesImpl      2.2.1
xml-apis        xml-apis        1.0.b2
xml-apis        xmlParserAPIs   2.0.2

Missing with 1.6-1

batik   batik-extension
batik   batik-rasterizer
batik   batik-svggen
batik   batik-svgpp
batik   batik-ttf2svg

Different version with 1.6-1

xerces  xercesImpl      2.2.1

New with 1.6-1

avalon-framework        avalon-framework        4.0
batik   batik-1.5-fop   0.20-5
batik   batik-gui-util  1.6-1
fop     fop     0.20.5
xalan   xalan   2.4.1
xml-apis        xml-apis        1.0.b2


If I then add batik-extension, batik-rasterizer, and batik-svggen
manually as runtime dependencies the tests pass:

compile
batik   batik-transcoder        1.6-1

runtime
batik   batik-extension 1.6-1
batik   batik-rasterizer        1.6-1
batik   batik-svggen    1.6-1

transitive compile
avalon-framework        avalon-framework        4.0
batik   batik-1.5-fop   0.20-5
batik   batik-awt-util  1.6-1
batik   batik-bridge    1.6-1
batik   batik-css       1.6-1
batik   batik-dom       1.6-1
batik   batik-ext       1.6-1
batik   batik-gui-util  1.6-1
batik   batik-gvt       1.6-1
batik   batik-parser    1.6-1
batik   batik-script    1.6-1
batik   batik-svg-dom   1.6-1
batik   batik-util      1.6-1
batik   batik-xml       1.6-1
fop     fop     0.20.5
xalan   xalan   2.4.1
xerces  xercesImpl      2.2.1
xml-apis        xml-apis        1.0.b2
xml-apis        xmlParserAPIs   2.0.2


So my list of exclusions would be

avalon-framework        avalon-framework        4.0
batik   batik-1.5-fop   0.20-5
batik   batik-gui-util  1.6-1
fop     fop     0.20.5
xalan   xalan   2.4.1

   michael


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
boot-loaders.gr...    php.pear.genera...    debugging.valgr...    kde.redhat.user...    text.xml.xsl.ge...    culture.languag...    hardware.microc...    java.servicemix...    redhat.release....    web.zope.plone....    user-groups.lin...    opendarwin.webk...    video.mjpeg.use...    sysutils.bcfg2....    encryption.gpg....    lx-office.devel...    xfree86.forum/2...    mail.mutt.devel...    acpi.devel/2003...    qnx.openqnx.dev...    network.irc.irs...    freebsd.devel.m...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe