On Mon, 19 Nov 2001, Carsten Ziegeler wrote: > Hi, > > I just thought a little bit about our current build system. We > agreed some days ago of restructuring the directory structure. > And we agreed that we will split the distribution into a source > and a binary distribution. > I think, at least one point is missing and that is the compilation > of the java source. > > The current situation is a little bit complicated. We have additional > components which are only included in the compilation if some > libraries are available during compilation. > In addition if these components are compilated there need to > be some entries either in the cocoon.xconf or in the sitemap. > This is partially done in the build, too. > > Now my problem is that if I look at the huge src directory, I > don't see which classes will be compilated, which are optional etc. > Even worse, there are classes in a package which are optional > and others in the same are not.
The fact is we structured them too flat. Maybe additional packaging would be appropriate to spread the mandatory from the optional. If we look for example at the serializers in directory src/.../serialization we can add optional serializers into subpackage of it like .../Serializer.java .../AbstractSerializer.java .../AbstractTextSerializer.java .../HTMLSerializer.java .../LinkSerializer.java .../TextSerializer.java .../XMLSerializer.java .../batik/SVGSerializer.java .../batik/fop/FOPSerializer.java .../jfor/RTFSerializer.java (not sure about the FOPSerializer because FOP depends on Batik) > Now this all could be made clearer with the following structure: > > src + core : The required classes which are always compiled > | > | > + opt - fop : FOP specific classes > - batik : The SVG stuff > - Xalan : Xalan specific implementations > etc. This approach might be better in terms of separation from the perspective of optional jars but mine keeps the overall structure intact and separates by packaging. Giacomo > > In addition to the src in each opt/{component} directory, > this directory could contain a cocoon.xconf and sitemap.xmap > fragment. > > Now the build script knows the dependencies like if library > (=class) xyz is available, include directory /opt/xyz for > compilation and append the cocoon.xconf fragment and the > sitemap.xmap fragment to the configuration files. > > Comments? Opinions? > > > Carsten > > Open Source Group sunShine - b:Integrated > ================================================================ > Carsten Ziegeler, S&N AG, Klingenderstrasse 5, D-33100 Paderborn > www.s-und-n.de mailto: [EMAIL PROTECTED] > ================================================================ > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, email: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]