From: "Scott Sanders" <[EMAIL PROTECTED]>
> Sorry I'm late to the party :)
hehehe :-))
...
> > -oOo-
> >
> > We took a deep look at both Gump and Vindico.
> >
> > Personally I like Vindico much better for _this_ task, since
> > it's all Java based and has a more complete objectmodel.
>
> I am starting to like Vindico, but only recently. I was just about to
> jump ship again and build PyGump, to get away from building java code
> with java code, which started to drive me insane.
>
> Anyway, now I'm back, and I think Vindico is a great place to start to
> replace the dead Alexandria. The object model needs some more upgrades
> to handle the full Gump DTD, which it cannot right now.
>
> As a devil's advocate position, Vindico has one developer, whereas in
> recent weeks the Gump crowd has grown significantly. Haven't the
> developers voted with their feet already? Don't get me wrong, I do
> think Vindico is a better replacement for Alexandria, just have to ask
> the question.
Well, Gump isn't a replacement to Alexandria anyway 8-)
Alexandria=super-duper-javadocs
Gump=continuous integration build system
To say that they are similar is like saying that all Apache projects are
alike because they use CVS =-)
> > Given that Gump+Vindico+Centipede+Maven+thenextbigthing would
> > benefit from having a /common/ system of running against a
> > workspace definition, what could this system be?
> >
> > Let's call this Vindico for now, (which seems to get closest to this).
>
> OK
>
> > We could have Gump (builds) Alexandria (code documentation)
> > Forrest (site
> > creation) and Maven (for site creation and metrics, since
> > build is done by
> > Gump) be used as plugins to Vindico, which in turn becomes a
> > Workspace cron system, with a consistent way of dealing with
> > "nags" or messages.
>
> The major thing that I wanted to add to Gump and Alexandria
> functionality was a database recording some stats, but that is just
> fluff on top of everything else.
Yes, this seems to be a goal of Vindico itself.
Vindico can be the motor that drives Gump, Alexandria and Forrest.
It calls them on the repository, gets stats from them, and can also give
them back (to forrest for example).
> > The cron thing is a good idea, but I also wanted to be able to say 'just
> > build turbine right now', and it would go off and do it.
Yes, this is nice, but it seems more like:
"call the Gump plugin on a subset of this repository".
> > This could also mean that we could plugin 2 instances of
> > Gump: one for builds with versioned jars, one with the latest.
> >
> > What do you think, does it make sense?
> > What do you guys think I can do to get the code documentation
> > features up and running with Alexandria?
>
> It makes sense to me. Right now I am attempting to make Vindico work
> with unmodified Gump descriptors, and to also suport the full Gump DTD.
Ok, then I'll start the descriptor discussion.
I think there are enough interested parties to have a decent discussion.
In my opinion the Gump descriptor has to migrate to a more general "Vindico"
descriptor.
In this Separation of Roles, Gump just runs builds, and having a <javadocs/>
tag is out of scope.
If we want to use Inversion Of Control (which is what Gump really does on
builds, since it forces libraries), the Javadocs should be done by the
Alexandria plugin, not by the build itself.
-0--------X--------0-
Also, there should be a more pluggable way of defining how to build the
project.
Now there is a script tag and and an ant tag.
I propose something like:
<build type="ant">
<param name="target" value="all"/>
</build>
or
<build type="script">
<param name="wintel" value="build.bat"/>
<param name="nix" value="build.sh"/>
</build>
or
<build type="maven">
<param name="user.properties" value="~home/user.prop"/>
</build>
or
<build type="centipede">
<param name="target" value="gump"/>
</build>
In this way the "type" attribute references a new descriptor that describes
what is needed by a build system.
This could alleviate the problems Maven is unnecessarily having.
-0--------X--------0-
I have attached the latest version of the extended Gump descriptor that
Centipede is using.
I would propose this as a module descriptor for Vindico.
I would also put the javadocs, nag-to, and jar tags in a <results> tag of
the project tag.
First I thought of something like this:
<results>
<result type="file" name="core jar" path="XXX">
<action type="nag">
<param name="to" value="[EMAIL PROTECTED]"/>
<param name="from" value="Sam Ruby <[EMAIL PROTECTED]>"/>
</action>
<action type="deliver">
<param name="to" value="jakarta.apache.org/nightly"/>
<param name="from" value="Sam Ruby <[EMAIL PROTECTED]>"/>
</action>
</result>
<result type="javadocs" name="core jar" path="XXX">
<action type="nag">
<param name="to" value="[EMAIL PROTECTED]"/>
<param name="from" value="Sam Ruby <[EMAIL PROTECTED]>"/>
</action>
<action type="deliver">
<param name="to" value="jakarta.apache.org"/>
<param name="from" value="Sam Ruby <[EMAIL PROTECTED]>"/>
</action>
</result>
<results>
But then it was quite clear that it was telling Vindico what to do and not
viceversa.
Here is a more corect version IMHO:
<results>
<result type="file" name="core jar" path="XXX"/>
<result type="javadocs" name="core jar" path="XXX"/>
<results>
> Welcome to the party!
:-D
--
Nicola Ken Barozzi [EMAIL PROTECTED]
- verba volant, scripta manent -
(discussions get forgotten, just code remains)
---------------------------------------------------------------------
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/module.xsl"?>
<?xml-stylesheet type="text/css" href="tools/antipede/resources/stylesheets/module.css"?>
<module name="krysalis-centipede">
<url href="http://www.krysalis.org/"/>
<cvs repository="sourceforge"
host-prefix="cvs.krysalis"
dir="krysalis"
module="krysalis-centipede"
href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/krysalis/krysalis-centipede/"/>
<bugtrack href="http://sourceforge.net/tracker/?group_id=36516&atid=423515"/>
<mailing-lists>
<mailing-list user="user"
mail="[EMAIL PROTECTED]"
subscribe="http://lists.sourceforge.net/lists/listinfo/Krysalis-general-user"
unsubscribe="http://lists.sourceforge.net/lists/listinfo/Krysalis-general-user">
<archives>
<archive name="sourceforge" href="http://sourceforge.net/mailarchive/forum.php?forum_id=7972"/>
<archive name="geocrawler" href="http://www.geocrawler.com/lists/3/SourceForge/18832/0/"/>
</archives>
</mailing-list>
<mailing-list user="developer"
mail="[EMAIL PROTECTED]"
subscribe="http://lists.sourceforge.net/lists/listinfo/krysalis-devel"
unsubscribe="http://lists.sourceforge.net/lists/listinfo/krysalis-devel">
<archives>
<archive name="sourceforge" href="http://sourceforge.net/mailarchive/forum.php?forum_id=7604"/>
<archive name="geocrawler" href="http://www.geocrawler.com/lists/3/SourceForge/18831/0/"/>
</archives>
</mailing-list>
</mailing-lists>
<description>
Krysalis Centipede is a project build system
based on Apache Ant.
</description>
<detailed>
Krysalis Centipede is a project build system
based on Apache Ant.
It uses prepackaged modules called "cents" that it downloads and installs automatically,
which can be used as Ant tasks or easy to use targets.
Forrest is a powerful cent based on Cocoon that gives the power of the Forrest project
in building project documentation.
Available cents are under krysalis.org/jjar
</detailed>
<what>
<goal>Make an easy build system. Users should just run build.</goal>
<goal>Make an extensible build system. Installation and use of extensions should be automatic.</goal>
<goal>Make a powerful build system. Advanced users should be able to exploit and master the system to its full.</goal>
</what>
<why>
Ant is a great build system, but if you have to bootstrap new projects or update the current
system, it'a a pain. Centipede is born to create there new features for Ant users.
</why>
<vendor>Krysalis Community Project - krysalis.org</vendor>
<licence>This software is released under the Krysalis Patchy Software License 1.1_01.
For detailed legal and licensing issues, please read the LICENSE.* files
in the /legal directory.
</licence>
<credits>
<credit>This software includes software developed by the Apache Software Foundation
(http://www.apache.org/).
</credit>
<credit>This software includes software developed by Clarkware Consulting, Inc.
</credit>
</credits>
<project name="krysalis-centipede">
<version major="1"
minor="0"
fix ="0"
tag="beta2"/>
<package>org.krysalis.centipede</package>
<ant target="gump" vm="1.2"/>
<!-- script name="build"/> -->
<depend project="jakarta-ant"/>
<depend project="ant-contrib"/>
<depend project="xml-xerces"/>
<depend project="xml-xalan2"/>
<depend project="jjar"/>
<depend project="jtidy"/>
<depend project="IzPress"/>
<!-- Work dirs to be included in classpath -->
<work nested="tools/tmp"/>
<work nested="build/classes"/>
<work nested="build/testcases"/>
<home nested="build"/>
<nag to="[EMAIL PROTECTED]"
from="Sam Ruby <[EMAIL PROTECTED]>"/>
</project>
</module>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>