On Thu, Jul 19, 2001 at 10:58:21PM -0700, Craig R. McClanahan wrote:
> 
> 
> On Thu, 19 Jul 2001 [EMAIL PROTECTED] wrote:
> 
> > Do you have a position on including a jakarta-regexp.jar (or a
> > jakarta-regexp-1.2.jar or a jakarta-regexp-1.3-dev.jar) directly in
> > jakarta-tomcat-4.0/lib so we can build it without synching and
> > building jakarta-regexp?
> 
> I'm positive Jon will be +1 for this :-), but I'm very -1 for reasons that
> have been discussed at length on this and other lists in the past.  
> Storing JAR files is evil, because it creates dependencies on those
> particular versions of the JAR files and you cannot reliably recreate a
> release purely from sources.

The dependencies are already there, and always will be.  The only
difference is that at present, the actual jars can slip out from under
you at any time (which actually just happened to me -- while you
weren't looking, jakarta-regexp changed the name of their jar file
which broke your build).

As for building from "pure" source, that argument is a lot less
compelling when your object code is platform-independent Java.  Sure,
it made sense not to depend on statically linked OS-specific object
code, but I can't think of a good reason not to depend on a JAR.  It's
no worse than depending on a GIF.

> > Likewise for servlet.jar / jakarta-servletapi-4.
> > 
> > Note that the project already contains an ant.jar and a jaxp.jar and
> > crimson.jar, and that works just fine :-)
> > 
> 
> Tomcat 4 doesn't have an ant.jar.

My mistake.

>  And the only reason it has jaxp.jar and
> crimson.jar is because the stupid actual release has sealed JARs, which
> *totally* screws up class loading.  As soon as there's a JAXP release that
> removes this restriction, these files are gone.

And as soon as someone screws up JAXP again, it'll break again, and
require a bugfix release of the *source* of Catalina just to allow it
to build.

Or what about the developer who's installed an incompatible JAXP
wasting his time and the list's bandwidth when it could have been
averted by shipping the version of JAXP on which Catalina is
dependent...  (That's until JAXP is "core" and stable and works, none
of which are actually true yet, AFAIK.)

> > > The problem you are having can be easily resolved by simply editing your
> > > local jakarta-turbine-4.0/build.properties or your
> > > ${user.home}/build.properties
> > 
> > Yeah, mine and everyone else's in the world who wants to build it.
> > One less step is one less step that can go wrong.  
> 
> Actually, Jon's suggestion is the right answer.  Developers working from
> source should have *absolute* control over which versions of dependent
> software they build with.

My solution doesn't prevent you from overriding the checked-in version
with one of your own.  I was thinking more that out of the box, it
would work, but that if you have your own jar you can edit
build.properties and retain *absolute* control.  But until you need to
do that, there's less to set up before running "build."  That is...

> > One less step is one less step that can go wrong.  

:-)

-- 
Alex Chaffee                       mailto:[EMAIL PROTECTED]
jGuru - Java News and FAQs         http://www.jguru.com/alex/
Creator of Gamelan                 http://www.gamelan.com/
Founder of Purple Technology       http://www.purpletech.com/
Curator of Stinky Art Collective   http://www.stinky.com/

Reply via email to