"Craig R. McClanahan" <[EMAIL PROTECTED]> wrote:

> Sounds like a vote is in order, then.
> 
> My thinking for the current approach is as follows:
> 
> * If a JAR file is included in the official binary distribution of Tomcat,
> it needs to be put there by the standard build script.  Otherwise, you
> end up with duplicate build scripts or targets (guaranteed to get out
> of sync over time) or manual intervention when creating a distribution
> (tedious, error-prone, and not repeatable).

Agreed on this one.

> * If a JAR file is part of the official binary distribution of Tomcat,
> the build process should fail if it's not present.  Otherwise, you run
> into the current situation with Tomcat 3.2 -- if you build 3.2 without
> the JSSE jar files, the build silently succeeds -- but the
> SSLSocketFactory you need is not built, and you cannot use this distro
> to run https connections even if you *do* install the JSSE jar files.

No, I think that in the case of JSSE, to build the binary distribution, you
HAVE to have it... I don't mind downloading an extra package if I'm building
from scratch.

> * If a JAR file is used in the core of Tomcat, or used in example
> applications included with Tomcat, it must be part of the official
> distribution, and therefore fall under the purview of the previous
> two rules.  Otherwise, you cannot have a "install and run right away"
> user experience, and you make your users have to do the integration.

Agreed on this one too..

> Thus, it all comes down to which JAR files do we consider essential?  This
> should not be too controversial in most cases.  External libraries we
> require include:
> 
> * JSSE - These are required to build (to avoid the 3.2 syndrome
> described above, but are not included solely because of legal
> requirements)

I wish there was a non-restricted JSSE implementation, but I don't care
about downloading that, especially now that crypto laws are far more
restrictive

> * JNDI - The "jndi.jar" file is required to compile or run on a 1.2
> platform at all.  Therefore, it is essential until we decide to
> desupport 1.2, after which it could be removed.

Seriously, I don't care about 1.2, so, I'm not going to give an opinion. As
long as we don't drop support for 1.3 (since it's the only one available on
OS/X), I'm fine.

> * Servlet API - Pretty obvious that we need servlet.jar for a
> servlet container.

DOH! Built from sources every time I build tomcat!

> * Regular Expressions Library - Required to implement the request filters
> that are a standard feature.

Well, we use Jakarta-Regexp, I don't see a problem with that :)

> * XML Parser - Required to function, so must be included.  Replaceable
> by any parser compatible with JAXP/1.1, however.

In fact I use Crimson from XML.Apache, not the standard Sun distro... I'm
fine with it...

> * Mail and Activation - Required for the JNDI resource factories and
> the corresponding example application.  IMHO, these things should not be
> optional (see the 3.2 syndrome, above), so I removed the conditional
> compile stuff (and updated the BUILDING.txt to document the revised
> requirements).

Yeah, I have them installed anyway....

> A few conditional compilation cases remain in the current build scripts.
> I plan to get rid of as many of them as possible before final release.

Big +1...

> Do other developers have different opinions/votes on this issue?

I believe that if you want to build a distribution from sources, you HAVE to
have EVERYTHING, it's a kind of a pain if you have to download-and-setup the
first time, but then you're set for a lifetime. Also, as D.J. Berstein
preaches, it allows us to have all binary builds behaving in the same exact
way, so, less troubles overall when thinking about support.

If you don't want to build it this way, well, get a nightly build...

    Pier



Reply via email to