Hi Michael.

Cameron McCormack:
> > [unnecessary dependencies in batik maven poms]

Michael Heuer:
> 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

I don’t think you would need batik-ttf2svg, batik-rasterizer or
batik-svgpp.  These are just the application main classes for the
ttf2svg, rasterizer and pretty printer, respectively.

> 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:

Do you mean running the Batik test suite?  Or trying your own tests?

> 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)
> ...

So xerces is needed.

> 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)

I’m not sure what this one is about.  Mismatched versions of the
awt-util and gvt packages?

> 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:

Which tests?

> 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

I’m not sure I can exclude avalon-framework, since FOP needs it, even
just for the PDF transcoding classes.  Also, xalan is needed for Batik’s
DOM 3 XPath support.

I’ll publish some test POMs before the release and get you to test them,
if you don’t mind.

Cameron

-- 
Cameron McCormack, http://mcc.id.au/
        xmpp:[EMAIL PROTECTED]  ▪  ICQ 26955922  ▪  MSN [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to