cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From giacomo <giac...@apache.org>
Subject Re: [RT]: Restructuring the build system
Date Mon, 19 Nov 2001 22:31:41 GMT
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: cziegeler@s-und-n.de
> ================================================================
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org
>
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message