
Information on dependencies
============================

$Id$

The Apache License can also be found here:
http://www.apache.org/licenses/


Normal Dependencies
----------------------

- Apache Jakarta Commons IO

    commons-io-*.jar
    http://jakarta.apache.org/commons/io/
    (I/O routines)
    
    Apache License v2.0
    
- Apache Jakarta Commons Logging

    commons-logging-*.jar
    http://jakarta.apache.org/commons/logging/
    (Logging adapter for various logging backends like JDK 1.4 logging or Log4J)
    
    Apache License v2.0

- Apache FOP

    fop*.jar
    http://xmlgraphics.apache.org/fop/
    (Apache FOP, maintained by the Apache XML Graphics project)
    
    Apache License v2.0

- Apache XML Graphics COmmons

    xmlgraphics-commons*.jar
    http://xmlgraphics.apache.org/commons/
    (Apache XML Graphics Commons, maintained by the Apache XML Graphics project)
    
    Apache License v2.0

- Apache PDFBox (Java PDF Library)

    pdfbox*.jar
    jempbox*.jar (XMP library used by Apache PDFBox)
    fontbox*.jar (font library used by Apache PDFBox)
    http://pdfbox.apache.org
    
    Apache License v2.0




Additional development-time dependencies
-------------------------------------------

- Apache Ant

    (not bundled, requires pre-installation)
    http://ant.apache.org
    (XML-based build system)
    
    Apache License V2.0
