I think it would be nice if for the jakarta-commons tree, there is a
build.sh/build.bat that will invoke the build of every component, and
further, that the jakarta-commons tree include all the necessary jars to
build all components completely, except the JDK.

This way, our nightly snapshot is self contained - very convenient for
first time users as well as those instances where you are on a strange
machine and need to quickly download and build (which happens to me
often as a consultant...)

I know we only have one component in the main CVS, but it might be good
to get this started early .

So what I want to do is make the following

1)  jakarta-commons/build

containing a build.sh/bat/xml set that has a default target that builds
all the components in one shot.  Each component is responsible for
wiring their build in there.  I am hoping all use ant to build, so it
will be darn easy. (I forget if we 'require' that...) We can make it
generate a complete javadoc for all the components, a common jar of all
the components, etc.

2)  jakarta-commons/build/lib

contains common jars used for building.  For example, I would start with
ant.jar, ant-optional.jar, xerces.jar, junit.jar and velocity.jar (for
using Anakia for documentation generation.)  That way each project
doesn't have to include these, and users don't have to go on an
easter-egg hunt to find all the parts needed to build. 

For those wary of centralized control, the following is not the
proposition of a requirement :) -> Then each component can have their
own build/lib with jars that they need.  If commonality can be found,
then we can move them to the top-level build/lib.  If a component needs
a version different than that it the top level, then they can keep their
own copy w/in their component.

I know there are strong feelings about putting binaries in CVS, but I
think this would be a good thing.  We do this in Velocity, and I think
it works out.


I am happy to do the work.  I am looking for alternative suggestions or
votes of support.

geir


<aside>
I want to note that I think having each component under the same CVS
tree will be ungainly as we acquire more components.  It will be
important to be able to download individual nightly builds of each
component, as well as the whole thing...
</aside>

-- 
Geir Magnusson Jr.                               [EMAIL PROTECTED]
Developing for the web?  See http://jakarta.apache.org/velocity/

Reply via email to