Ralph Goers wrote:
No. We could take advantage of http://maven.apache.org/ant-tasks.html to create various ant scripts to do that. However, since I'm still not sure what this supposed support for non-maven builds really looks like it is hard to have a good answer to the question.

Yes, that's the question du jour. Since I use Maven 2 in all of my Cocoon projects, it's not easy for me to give an answer.

Looking at other projects, e.g. Spring might help us. Spring provides two different downloads: One contains all Spring libraries, Javadocs and general documentation, the second additionally includes all libraries Spring depends on. Note that this releases don't contain any samples (at least the last time I looked into it.)

The situation for Cocoon is similar but not the same. We've been working hard to break up the monolith and make blocks more independant. A Cocoon block is more like a Spring sub project (e.g. Spring webflow). In practise this means that you can add those blocks to your Cocoon app that you need. In difference to 2.1 you can make this decision at deployment time and not at build time.

Those independant blocks also have the advantage that establish different release cycles for each: If we want to release e.g. the template block, we only have to release this one without having to care for all the other stuff.

The first question we have to answer is, whether we want to pass this advantage to non-Maven users too. If yes, each block also has to become a seperatly downloadable release unit which could contain the block library itself, Javadocs, general documentation and even the related samples block.

As an alternative we can create one huge download that contains the most recent versions of Cocoon core 2.2, the latest versions of all releaseable blocks and a preconfigured Jetty instance that is able to run Cocoon. The downside of this approach is that this will create a really huge file (+50 megabytes) which will not be very appealing for a beginner to start with.

                                     - o -

My proposal is that we create seperate download units for Cocoon core and all releaseable blocks. That's a bit of work intially but thanks to Maven we already have all necessary parts. The work will "only" consist of writing a script that pulls together all those parts (jar, sources, javadocs, general docs), zip it, create checksums and sign it. The final result is a Maven free zip, the 2 checksums and the PGP singatures of all those files. This could become part of the usual release process.

In addition I propose that we create a samples download (jetty + preconfigured webapp) and a "getting-started" download which is derived from the output of our Maven 2 archetypes. These two artefacts will always be created when Cocoon core is released.

If we follow this proposal I would appreciate any help very much. The work mainly consist of writing the scripts (I'd prefer Groovy or shell scripts). On my personal todo list this comes right after setting up integration tests for trunk (working on this right now) and writing an initial integration tests for the servlet service framework. When all three things are done I'm ready for the final release.

--
Reinhard Pötz                            Managing Director, {Indoqa} GmbH
                          http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair        [EMAIL PROTECTED]
_________________________________________________________________________

Reply via email to