> From: Leo Simons [mailto:[EMAIL PROTECTED]] 
> 
> 
> Motivation
> ----------
> Our current documentation build process is a pain in the *** 
> to use. Cocoon is a little bit of overkill. It takes about 30 
> minutes on my machine to generate all our docs. This needs to change.

I feel your pain.  There have been improvements I believe, but
I haven't integrated them yet.


> It would also be nice to add some auto-generated 
> documentation to our website (jdepend, javasrc, etc). The new 
> tools handle some of this now, and will handle more of it as 
> they mature.

Absolutely.

I am getting ready to do a comparison between the Maven and
Centipede to see how easy it is to #1 start a new project,
and #2 merge into an existing project.

Both of them need some fine-tuning on the directory hierarchy.

> 
> 'Standards' concern
> -------------------
> It would be somewhat annoying to adopt one option now, then 
> find it has all but died in a few months time because it lost 
> out to a competing tool, if this would mean a lot of work to 
> move from one tool to the other.

With my understanding between the two, migration would not be
that difficult--the main thing is the project descriptor.
The tough migration is going from what we have now to one of
the others.

> Smooth migration concern
> ------------------------
> We have an extensive, and in some cases also quite complex 
> build system in place, that we should not break. Fortunately, 
> use of ant and antcall means this is easy enough to do.

We do, and this is something we should try to get Maven and
Centipede to handle.  I do like Centipede's design.  Everything
is deferred to "cents" which are build components.  Those
components handle everything from documentation building to
project hierarchy building.



> Dog food concern
> ----------------
> We currently use cocoon, which is built on top of several 
> avalon components. It would be nice to keep using cocoon as 
> it means we show the world we like our own dog food.

:)  I will report on Centipede as it uses that.


> Features concern
> ----------------
> We don't want to loose any of our current documentation 
> features. It would be especially cumbersome if we would have 
> to modify our xdocs directories.
> 
> New features would also be cool.

Absolutely.


> Ease-of-use concern
> -------------------
> We currently include a forked ant in the jakarta-avalon cvs 
> module because it makes it a little easier for users to get 
> started (they don't have to install ant first). We should 
> either include the new tools in jakarta-avalon cvs as well 
> (to keep everything just as easy to use), or we need to 
> accept the extra installation chores for people getting 
> started with our project.

If we choose either solution, we should do the extra install
step.


> Option: maven
> -------------
> standard: maven is not any kind of standard yet. Some people 
> (mainly Jon
> Stevens) believe it will be the new standard for jakarta site 
> generation in the future.
> migration: maven is isolated from the rest of the build 
> process through the use of external ant build files.
> stability: maven is in third beta and its API will probably 
> not change very much. dog food: maven does not provide 
> support for cocoon.
> features: maven does not provide support for having the xdocs 
> <title> tag somewhere in the body of the page by default. It 
> also does not provide support for our chosen skin atm. new 
> features: project info generation, dependency information (on 
> a .jar level), look-and-feel similar to Scarab (which will 
> replace BugZilla sometime in the future), junit reports, 
> jdepend reports, checkstyle reports, javadocs, src xref 
> (javasrc) ease of use: maven does not promote inclusion in 
> CVS, though it should be possible.

The extra docs that Maven includes are quite helpful.  However,
it would also be relatively easy to do the same with Centipede.
Scarab is a great tool for bugtracking, but I am not convinced
it is so hot for project look and feel.  It does not address
navigation issues as nicely as I would want.  One thing that
it does not deal with very well at all is a breadcrumb trail.
Centipede uses Cocoon, which should have something in it that
handles the breadcrumb trail for us.


> Option: Centipede w/ Forrest
> ----------------------------
> standard: Forrest will be the standard for the xml project 
> site. It uses XSLT, also a standard.
> migration: centipede is isolated from the rest of the build 
> process through the use of external ant build files.
> stability: centipede is in its first beta. The most important 
> part of its API that we see is borrowed from Forrest, and 
> thus Cocoon, which we already use. dog food: Centipede & 
> Forrest make use of cocoon.
> features: no problems.
> new features: all maven's features through a maven module, 
> jdepend, junit reports, javasrc, pluggable look and feel, 
> pluggable modules (support for UML generation etc will be 
> added) ease of use: Centipede and Forrest can be included in 
> CVS like the current tools we use.

Which I am not sure should be necessary.


> Quality of Analysis
> -------------------
> This analysis is based on browsing of the maven and centipede 
> project websites, following of discussion of these tools, and 
> limited use of both projects. There are probably quite a few 
> flaws in it. I think it will suffice for making a decision, though.

I will have a more detailed analysis in a bit.  I am doing a new
project comparison for the two.  My biggest interest is in error
feedback when something is not quite right.


> Proposals
> ---------
> - Put the latest Centipede beta (which includes useful stuff like
> Forrest) in jakarta-avalon cvs, and start generation of our 
> website using it.
> 
> - Add new features to the website (jdepend, junit, etc) 
> offered by Centipede incrementally.
> 
> - Slowly migrate parts of our build process to be managed by 
> Centipede, where this is possible.


Let's wait until I perform my analysis between the two on default
install.  Centipede *does* support our skin BTW.


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to