Hi, while fiddling with the New API it dawned me there are actually several packages in FOP: - the basic engine, embeddable - a CLI wrapper - a servlet wrapper - an Ant task - the font utilities - the hyphenation data utilities (basically the Ant task) - a variety of extenstions. Perhaps the AWT viewer or even all of the renderers can be added here too.
The problem is managing the dependencies: - commons-cli for the CLI wrapper (new API), also probably nice for the font utilities - Ant for the FOP Ant task and the hyphenation data task - servlet.jar for the servlet - avalon and logging for the base library.
There ought to be a less messy approach. It could be an idea to move the various packages to different base directories, making FOP essentially a multi-subproject project similar to jakarta commons. This way each subpackage has its own buildfile and lib directory, and dependencies become more clear. In order to manage the cross package dependencies and dependencies outside of FOP, Maven seems to be the tool of choice. Unfortunately, I'm not enough of a Maven wizard to asses this completely. Is there somebody out there with more time at hand to look at these issues?
BTW 1. I'd like to get rid of the servlet.jar in our CVS. 2. If we standardize on JDK 1.4 as base (as it currently is), we could drop the Xerces, Xalan and xml-api jars as well. Our Jars seem to be somewhat outdated anyway.