Nicola Ken Barozzi wrote:
> 
> I was about to commit the POI stuff, but then I felt a bit uneasy with how
> the current build is organized.
> 
> Since there are so many optional components, it has become very big,
> difficult to maintain IMHO and to understand for starters.
> Also, the examples are structured better than before, but still a bit
> confused as with directory structure and, most of all, they create problems
> with the treeprocessor, that (correctly) complains when a sitemap uses
> components that are not declared.
> 
> I've sent some patches for a restructuring of the build in the past, and in
> the process of cleaning it for POI and Forrest I've created a project called
> Centipede (http://www.krysalis.org/) that is used as a project starter.
> I'm not proposing to use Centipede, but I think that some ideas-solutions
> that came up with it could be applied to Cocoon.
> 
> DISCLAIMER: This has nothing to do with the current thread on cocoon Blocks.
> Cocoon Blocks could change in the future some of the things proposed here
> (optional components will be Blocks?), but IMHO it doesn't invalidate
> current needs.
> 
> I could do the following:
> 
> 1. Make a task that searches, like the xconf tool, in the classpath, for
> .xoptional descriptor files and decides if a set of resources is to be
> copied in the build dir (as the build does now in a more extensive way).
> A sample could be:
> 
> <?xml version="1.0"?>
> <xoptional name="BSF"
> lib-url="http://oss.software.ibm.com/developerworks/projects/bsf/";>
> 
>   <if>
>     <class-available  classname="com.ibm.bsf.BSFException"/>
>   </if>
> 
>   <then>
>     <xsamples>
>       <!-- mount samples -->
>     </xsamples>
>     <xconf>
>       <component role="org.apache..." class="org.apache..."/>
>     </xconf>
>   </then>
> 
>   <else>
>     <exclude name="**/ScriptAction.java"/>
>     <exclude name="**/ScriptGenerator.java"/>
>   </else>
> 
> </xoptional>

I don't like the markup semantics but I see your point and I like the
concept.

> 2. make all samples to be mounted in a "samples" dir, each with its
> subsitemap. This could make it easy to not put them in when there are
> optional components not presents, or also use Cocoon easily without the
> samples.

I like this so far.

> 3. Structure the build as in Centipede or Forrest by using external
> entities, by dividing the build targets in many .xpart files. Forrest has an
> example of this in CVS.

I don't like this, we should stay away from entities as much as
possible.[also true for forrest, I'd love that to be changed]

What do others think about this?

-- 
Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<[EMAIL PROTECTED]>                             Friedrich Nietzsche
--------------------------------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to