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?

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.


Reply via email to