on 12/15/2000 12:00 PM, "Craig R. McClanahan" <[EMAIL PROTECTED]>
wrote:

> Let me describe what I just had to do, to get a feel for why I like the
> current approach.
> 
> Recently, there were security issues with Tomcat 3.1 that required creating a
> 3.1.1 release.  Now, Tomcat 3.1 was dependent on the Ant that was current at
> that time, and a whole bunch of other old stuff.  But 3.2 (and 4.0) require
> the current Ant.  What to do?
> 
> I left my "Jakarta" directory (with the current 3.2 and 4.0 stuff in it)
> alone, and created a separate one ("Jakarta-3.1"), in which I could download
> the version of Ant that 3.1 depended on, grabbed the 3.1 sources for Tomcat,
> and built/tested/packaged it -- all completely separate from my usual work
> environment.  The relative references work well in that scenario, because I
> organized things to keep mutually dependent stuff together.  Worked like a
> champ.
> 
> Ant in particular is a tool you will need to have available in multiple
> versions if you are building lots of open source projects of different ages.
> The dramatic (almost radical) deprecations and syntax changes between pre-1.0,
> 1.0, 1.1, and 1.2 will get you in loads of trouble otherwise.  To say nothing
> of the right XML parser, servletapi classes,  ...
> 
> The same scenario happens when you build other open source projects, too --
> they all have dependencies on particular versions of particular packages.
> Whether you build inside the project directory or outside doesn't make any
> difference in that regard.
> 
> Personally, I find it easiest to organize top-level development directories
> around mutually interdependent projects.

This is EXACTLY why I currently vote to check .jar files into CVS (until
CJAN is available). It is also EXACTLY why I vote to add version numbers to
*everything*.

If we had had the right ant.jar and parser and blah blah blah checked into
Tomcat's CVS, then you would have been able to simply just check it out of
CVS and build it without having to do ANY other work to set things up.

Again, I don't think checking .jar files into CVS is the end solution as
CJAN and properly versioned directories in /build and /dist is, but in the
end, if we had simply had the .jar files in CVS for now, it would have been
a 5 second process.

It is way to confusing and a PITA to have to rename directories yourself to
get the desired results.

p.s. I'm now waiting on Sam to make his "buildmaker" toolset available for
review. That is definitely the right way to go.

thanks,

-jon

-- 
Honk if you love peace and quiet.

Reply via email to