Re: [5.0] Build notes

2002-08-12 Thread Jean-francois Arcand



Patrick Luby wrote:

 Costin,

 [EMAIL PROTECTED] wrote:

 On Sun, 11 Aug 2002, Patrick Luby wrote:


 commons-digester/logging, etc. I think that this would make the 
 build more reliable since Tomcat 5 is dependent on very specific 
 versions of Apache dependencies (e.g. Xerces 2.0.1 only).



 IMHO that's _totally_ unacceptable ( having tomcat5 work only with 
 xerces).


 I think that the dependency on Xerces 2.0.1 is excessively restrictive 
 as well. IIRC (maybe Jean-François could provide some of the details 
 he found?), Xerces 2.0.1 was the only Xerces parser that we have found 
 so far that does not throw StackOverflow or other fatal exceptions 
 when an XML file using XML schema is parsed. I believe (Jean-François: 
 let me know if my understanding is incorrect) that this problem exists 
 even if schema validation is turned off.

The StackOverflowException _only_ occurs with released version of Xerces 
2.0.2. It has been fixed since the release (nightly build works fine). 
Yes the problem exist even if the schema validation is on.





 And having schema validation turned on by default has a strong -1 from
 me - if the spec _requires_ schema validation, then implement it at 
 deployment time. The performance hit is just unacceptable. 


 Any performance increases through delayed validation sounds good to me.

I agree. What behaviour do we want if a xml instance is not well-formed?




 ( in the process we should also move DTD validation to the same stage 
 and stop doing it on every startup if the xml file didn't change )


 Makes sense. Especially since we use this same technique for JSP page 
 compilation.




--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-12 Thread Remy Maucherat

[EMAIL PROTECTED] wrote:
 On Sun, 11 Aug 2002, Bill Barker wrote:
 
 
I don't know anybody that likes it, but it's required by the JSP-1.2 spec
(and still in the current draft of the JSP-2.0 spec).  The TLDs may contain
Listeners, and the only way to get them registered is to scan at startup.
 
 
 Ops, I missed that one. 
 
 So you mean even if a webapp has no JSP at all - the TLDs are still
 processed ( sort of extension to web.xml ) ? I allways tought they
 are for translation, not runtime. 

Yes, they are. The spec defines many ways to define some things (not a 
very good idea IMO), like it has many places where you can put the TLD.

 I just downloaded the new servlet draft - and it seems the welcome file
 it defines is still unimplementable and violates all the current 
 practices...

I've been saying that for a while in a few messages if you look at the 
archives. I've been emailing the spec people while I was working at Sun, 
but I have been politely ignored on that issue :-(

Oh well, if it's not implementable, then we won't implement it ;-)

I'll make a proposal soon (let's say by wed) to rewrite the mapper, and 
it will partially handle the new spec requirements.

 I'm beginning to wonder who is Apache's representative to
 the JCP and how will he make the decision on what to vote...

Jason maybe ?

Remy


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-12 Thread Remy Maucherat

[EMAIL PROTECTED] wrote:
 On Sun, 11 Aug 2002, Patrick Luby wrote:
 
 
commons-digester/logging, etc. I think that this would make the build 
more reliable since Tomcat 5 is dependent on very specific versions of 
Apache dependencies (e.g. Xerces 2.0.1 only).
 
 
 IMHO that's _totally_ unacceptable ( having tomcat5 work only with 
 xerces).
 
 And having schema validation turned on by default has a strong -1 from
 me - if the spec _requires_ schema validation, then implement it at 
 deployment time. The performance hit is just unacceptable. 

I agree with Costin.
Startup time of TC 4.1 was bad, 5.0 is unbearable.

I now agree with the hacks Costin put in 3.3 ;-) We need that or an 
option to disable validation.

 ( in the process we should also move DTD validation to the same 
 stage and stop doing it on every startup if the xml file didn't change )

Remy


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-12 Thread costinm

On Mon, 12 Aug 2002, Jean-francois Arcand wrote:

  I think that the dependency on Xerces 2.0.1 is excessively restrictive 
  as well. IIRC (maybe Jean-François could provide some of the details 
  he found?), Xerces 2.0.1 was the only Xerces parser that we have found 
  so far that does not throw StackOverflow or other fatal exceptions 
  when an XML file using XML schema is parsed. I believe (Jean-François: 
  let me know if my understanding is incorrect) that this problem exists 
  even if schema validation is turned off.
 
 The StackOverflowException _only_ occurs with released version of Xerces 
 2.0.2. It has been fixed since the release (nightly build works fine). 
 Yes the problem exist even if the schema validation is on.

I only tested crimson - it fails if validation is on, but works fine 
and faster if validation is disabled.



  And having schema validation turned on by default has a strong -1 from
  me - if the spec _requires_ schema validation, then implement it at 
  deployment time. The performance hit is just unacceptable. 
 
 
  Any performance increases through delayed validation sounds good to me.
 
 I agree. What behaviour do we want if a xml instance is not well-formed?

Again - this is not 'delayed' validation, the validation and initalization
will allways happen before the first request is served, and if an error
is found the context will be disabled.

There are 2 distinct issues:

One is moving the 'validation' to a deploy stage. If validation fails,
the app will not be deployed. 

The second issue is doing the context initialization in background and 
in parallel. That has nothing to do with validation. If we don't implement
the 'deploy' - we can validate the XML file once ( during startup ), and
keep a timestamp to avoid future re-validation. But the behavior remains
the same - the app will not be started.

Costin


 
 
 
 
  ( in the process we should also move DTD validation to the same stage 
  and stop doing it on every startup if the xml file didn't change )
 
 
  Makes sense. Especially since we use this same technique for JSP page 
  compilation.
 
 
 
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
 


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-12 Thread Steve Downey

The only snag is that 'ant download' doesn't download optional 
components. And some of them are optional the same way that brakes on a 
go-cart are optional. It'll work, just not quite the way you expect it to.

More importantly, any developer building Tomcat needs to build a full 
version, otherwise you run the risk of breaking parts of the build that 
you happen not to be building because you don't have the optional 
component that it depends on. And the build process is fairly quiet 
about those missing pieces.

Automating the download of optional components, however, is a bit 
tricky, as many of the optional components are behind Sun's license page.


Bob Herrmann wrote:

Yea, I liked your script, this one builds Tomcat 5.

BUILDING.TXT could almost just say All you need is JDK1.4 and Ant1.5
then just type 'ant' and a working Tomcat 5 development tree is built.
(If you are behind a firewall, you may need to adjust proxy settings.)

This should be cross platform (haven't tested it on Win32.)

Cheers,
-bob

project name=CVS Retrieval default=populate

property file=build.properties/

property name=apache.dir value=${user.home}/TC5/
property name=base.path value=${apache.dir}/download/

property name=cvsroot
   value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/

target name=populate depends=init,checkout,buildit /

target name=init
tstamp/
mkdir dir=${apache.dir}/ 
mkdir dir=${base.path}/ 
/target

target name=checkout depends=init

cvs package=jakarta-servletapi-5
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-catalina
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-5
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-connectors
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-jasper
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-5
cvsRoot=${cvsroot}
dest=${apache.dir}
/

/target

target name=buildit depends=init

echo message=Commons-logging build dies without this
 file=${base.path}/LICENSE /

ant dir=${apache.dir}/jakarta-tomcat-5
 target=download /

ant dir=${apache.dir}/jakarta-tomcat-5
 target=dist /
/target

/project
   

On Tue, 2002-08-06 at 13:43, Ian Darwin wrote:

On August 6, 2002 01:01 pm, you wrote:

The main thing missing is a target which sets up the CVS repositories,
so it's quite close to what we have now. Problem is, I'm not too happy
at the idea of doing that automatically.

Trivial to do with Ant, but I agree, it's risky to automate this. OTOH if
it's well documented what it's doing, people should be OK with it.

Ian

project name=CVS Retrieval default=populate

  !-- $Id: build.xml,v 1.1 2002/06/11 15:35:57 ian Exp $ --

  !-- Maybe find a better way of setting this --
  property name=apache.dir value=${user.home}/src/apache/
  property name=cvs.root
  value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/

  target name=init
  tstamp/
  mkdir dir=${apache.dir}/ 
  /target

  target name=populate depends=init

  cvs package=jakarta-tomcat-4.0
  cvsRoot=${cvs.root}
  dest=${apache.dir}
  /
  cvs package=jakarta-tomcat-connectors
  cvsRoot=${cvs.root}
  dest=${apache.dir}
  /
  cvs package=jakarta-tomcat-jasper
  cvsRoot=${cvs.root}
  dest=${apache.dir}
  /
  /target
/project

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]






--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-12 Thread Jayson Falkner

  Sort of a mini-gump.

No sense in over-doing what the build file is supposed to do. The idea 
is cool, but, gump exists for a reason :) I suspect a change like this 
would make things slightly more complex, confusing, and in general take 
way to much time to implement - not to mention open up the possibility 
for abuse.

But that is just my opinion. Anyhow, the one-step build-from-scratch 
still rocks. Any idea when nightly Tomcat 5 builds will start appearing 
on Jakarta?

Cheers,

Jayson

Bob Herrmann wrote:
 On Sun, 2002-08-11 at 11:25, Jayson Falkner wrote:
 
I have been using the same thing. The only downside is the download 
time, but, IMO it would be great to have this included and encouraged 
for use with the Tomcat 5 build file.

Way to go Bob!
 
 
 Thanks, although I just cut/pasted Ian Darwin's example.
 
 It builds tomcat5 pretty well, but I would really like it if it also did
 these things,
 
  - building dist, start tomcat up
  - download and run watchdog and generate a report
  - If the report fails, then send an email to people who committed in
 past 24 hours
  - run automatically every 24 hours.
 
 Sort of a mini-gump.
 
 Cheers,
 -bob
 
 
 
Jayson Falkner
[EMAIL PROTECTED]

Bob Herrmann wrote:

Yea, I liked your script, this one builds Tomcat 5.

BUILDING.TXT could almost just say All you need is JDK1.4 and Ant1.5
then just type 'ant' and a working Tomcat 5 development tree is built.
(If you are behind a firewall, you may need to adjust proxy settings.)

This should be cross platform (haven't tested it on Win32.)

Cheers,
-bob

project name=CVS Retrieval default=populate

property file=build.properties/

property name=apache.dir value=${user.home}/TC5/
property name=base.path value=${apache.dir}/download/

property name=cvsroot
   value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/

target name=populate depends=init,checkout,buildit /

target name=init
tstamp/
mkdir dir=${apache.dir}/ 
mkdir dir=${base.path}/ 
/target

target name=checkout depends=init

cvs package=jakarta-servletapi-5
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-catalina
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-5
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-connectors
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-jasper
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-5
cvsRoot=${cvsroot}
dest=${apache.dir}
/

/target

target name=buildit depends=init

echo message=Commons-logging build dies without this
 file=${base.path}/LICENSE /

ant dir=${apache.dir}/jakarta-tomcat-5
 target=download /

ant dir=${apache.dir}/jakarta-tomcat-5
 target=dist /
/target

/project
 

On Tue, 2002-08-06 at 13:43, Ian Darwin wrote:


On August 6, 2002 01:01 pm, you wrote:


The main thing missing is a target which sets up the CVS repositories,
so it's quite close to what we have now. Problem is, I'm not too happy
at the idea of doing that automatically.

Trivial to do with Ant, but I agree, it's risky to automate this. OTOH if
it's well documented what it's doing, people should be OK with it.

Ian

project name=CVS Retrieval default=populate

!-- $Id: build.xml,v 1.1 2002/06/11 15:35:57 ian Exp $ --

!-- Maybe find a better way of setting this --
property name=apache.dir value=${user.home}/src/apache/
property name=cvs.root
value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/

target name=init
tstamp/
mkdir dir=${apache.dir}/ 
/target

target name=populate depends=init

cvs package=jakarta-tomcat-4.0
cvsRoot=${cvs.root}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-connectors
cvsRoot=${cvs.root}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-jasper
cvsRoot=${cvs.root}
dest=${apache.dir}
/
/target
/project

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]





--
To 

Re: [5.0] Build notes

2002-08-11 Thread Jayson Falkner

I have been using the same thing. The only downside is the download 
time, but, IMO it would be great to have this included and encouraged 
for use with the Tomcat 5 build file.

Way to go Bob!

Jayson Falkner
[EMAIL PROTECTED]

Bob Herrmann wrote:
 Yea, I liked your script, this one builds Tomcat 5.
 
 BUILDING.TXT could almost just say All you need is JDK1.4 and Ant1.5
 then just type 'ant' and a working Tomcat 5 development tree is built.
 (If you are behind a firewall, you may need to adjust proxy settings.)
 
 This should be cross platform (haven't tested it on Win32.)
 
 Cheers,
 -bob
 
 project name=CVS Retrieval default=populate
 
 property file=build.properties/
 
 property name=apache.dir value=${user.home}/TC5/
 property name=base.path value=${apache.dir}/download/
 
 property name=cvsroot
value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/
 
 target name=populate depends=init,checkout,buildit /
 
 target name=init
 tstamp/
 mkdir dir=${apache.dir}/ 
 mkdir dir=${base.path}/ 
 /target
 
 target name=checkout depends=init
 
 cvs package=jakarta-servletapi-5
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-catalina
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-5
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-connectors
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-jasper
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-5
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 
 /target
 
 target name=buildit depends=init
 
 echo message=Commons-logging build dies without this
  file=${base.path}/LICENSE /
 
 ant dir=${apache.dir}/jakarta-tomcat-5
  target=download /
 
 ant dir=${apache.dir}/jakarta-tomcat-5
  target=dist /
 /target
 
 /project
   
 
 On Tue, 2002-08-06 at 13:43, Ian Darwin wrote:
 
On August 6, 2002 01:01 pm, you wrote:

The main thing missing is a target which sets up the CVS repositories,
so it's quite close to what we have now. Problem is, I'm not too happy
at the idea of doing that automatically.

Trivial to do with Ant, but I agree, it's risky to automate this. OTOH if
it's well documented what it's doing, people should be OK with it.

Ian

project name=CVS Retrieval default=populate

  !-- $Id: build.xml,v 1.1 2002/06/11 15:35:57 ian Exp $ --

  !-- Maybe find a better way of setting this --
  property name=apache.dir value=${user.home}/src/apache/
  property name=cvs.root
  value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/

  target name=init
  tstamp/
  mkdir dir=${apache.dir}/ 
  /target

  target name=populate depends=init

  cvs package=jakarta-tomcat-4.0
  cvsRoot=${cvs.root}
  dest=${apache.dir}
  /
  cvs package=jakarta-tomcat-connectors
  cvsRoot=${cvs.root}
  dest=${apache.dir}
  /
  cvs package=jakarta-tomcat-jasper
  cvsRoot=${cvs.root}
  dest=${apache.dir}
  /
  /target
/project

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
 
 
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
 
 



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-11 Thread Patrick Luby

All,

Couldn't we go a step farther and check any Apache dependencies into the 
Tomcat cvs repository and remove them from build.properties.default and 
build.xml's download target? Of course, we can't do this for some 3rd 
party dependencies, but we can for stuff like Xerces, 
commons-digester/logging, etc. I think that this would make the build 
more reliable since Tomcat 5 is dependent on very specific versions of 
Apache dependencies (e.g. Xerces 2.0.1 only).

I know that a lot of other Jakarta projects do this. Are there any 
problems with this?

Patrick

Jayson Falkner wrote:
 I have been using the same thing. The only downside is the download 
 time, but, IMO it would be great to have this included and encouraged 
 for use with the Tomcat 5 build file.
 
 Way to go Bob!
 
 Jayson Falkner
 [EMAIL PROTECTED]
 
 Bob Herrmann wrote:
 
 Yea, I liked your script, this one builds Tomcat 5.

 BUILDING.TXT could almost just say All you need is JDK1.4 and Ant1.5
 then just type 'ant' and a working Tomcat 5 development tree is built.
 (If you are behind a firewall, you may need to adjust proxy settings.)

 This should be cross platform (haven't tested it on Win32.)

 Cheers,
 -bob

 project name=CVS Retrieval default=populate

 property file=build.properties/

 property name=apache.dir value=${user.home}/TC5/
 property name=base.path value=${apache.dir}/download/

 property name=cvsroot
value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/

 target name=populate depends=init,checkout,buildit /

 target name=init
 tstamp/
 mkdir dir=${apache.dir}/ mkdir 
 dir=${base.path}/ /target

 target name=checkout depends=init

 cvs package=jakarta-servletapi-5
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-catalina
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-5
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-connectors
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-jasper
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-5
 cvsRoot=${cvsroot}
 dest=${apache.dir}
 /

 /target

 target name=buildit depends=init

 echo message=Commons-logging build dies without this
  file=${base.path}/LICENSE /

 ant dir=${apache.dir}/jakarta-tomcat-5
  target=download /

 ant dir=${apache.dir}/jakarta-tomcat-5
  target=dist /
 /target

 /project
 

 On Tue, 2002-08-06 at 13:43, Ian Darwin wrote:

 On August 6, 2002 01:01 pm, you wrote:

 The main thing missing is a target which sets up the CVS repositories,
 so it's quite close to what we have now. Problem is, I'm not too happy
 at the idea of doing that automatically.


 Trivial to do with Ant, but I agree, it's risky to automate this. OTOH if
 it's well documented what it's doing, people should be OK with it.

 Ian

 project name=CVS Retrieval default=populate

 !-- $Id: build.xml,v 1.1 2002/06/11 15:35:57 ian Exp $ --

 !-- Maybe find a better way of setting this --
 property name=apache.dir value=${user.home}/src/apache/
 property name=cvs.root
 value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/

 target name=init
 tstamp/
 mkdir dir=${apache.dir}/ /target

 target name=populate depends=init

 cvs package=jakarta-tomcat-4.0
 cvsRoot=${cvs.root}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-connectors
 cvsRoot=${cvs.root}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-jasper
 cvsRoot=${cvs.root}
 dest=${apache.dir}
 /
 /target
 /project

 --
 To unsubscribe, e-mail:   
 mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: 
 mailto:[EMAIL PROTECTED]





 --
 To unsubscribe, e-mail:   
 mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: 
 mailto:[EMAIL PROTECTED]



 
 
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]

-- 

Patrick Luby Email: [EMAIL PROTECTED]
Sun Microsystems Phone: 408-276-7471
901 San Antonio Road, USCA14-303
Palo Alto, CA 94303-4900

Re: [5.0] Build notes

2002-08-11 Thread costinm

On Sun, 11 Aug 2002, Patrick Luby wrote:

 commons-digester/logging, etc. I think that this would make the build 
 more reliable since Tomcat 5 is dependent on very specific versions of 
 Apache dependencies (e.g. Xerces 2.0.1 only).

IMHO that's _totally_ unacceptable ( having tomcat5 work only with 
xerces).

And having schema validation turned on by default has a strong -1 from
me - if the spec _requires_ schema validation, then implement it at 
deployment time. The performance hit is just unacceptable. 

( in the process we should also move DTD validation to the same 
stage and stop doing it on every startup if the xml file didn't change )




Costin




--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-11 Thread Patrick Luby

Costin,

[EMAIL PROTECTED] wrote:
 On Sun, 11 Aug 2002, Patrick Luby wrote:
 
 
commons-digester/logging, etc. I think that this would make the build 
more reliable since Tomcat 5 is dependent on very specific versions of 
Apache dependencies (e.g. Xerces 2.0.1 only).
 
 
 IMHO that's _totally_ unacceptable ( having tomcat5 work only with 
 xerces).

I think that the dependency on Xerces 2.0.1 is excessively restrictive 
as well. IIRC (maybe Jean-François could provide some of the details he 
found?), Xerces 2.0.1 was the only Xerces parser that we have found so 
far that does not throw StackOverflow or other fatal exceptions when an 
XML file using XML schema is parsed. I believe (Jean-François: let me 
know if my understanding is incorrect) that this problem exists even if 
schema validation is turned off.

 
 And having schema validation turned on by default has a strong -1 from
 me - if the spec _requires_ schema validation, then implement it at 
 deployment time. The performance hit is just unacceptable. 

Any performance increases through delayed validation sounds good to me.

 
 ( in the process we should also move DTD validation to the same 
 stage and stop doing it on every startup if the xml file didn't change )
 

Makes sense. Especially since we use this same technique for JSP page 
compilation.


-- 

Patrick Luby Email: [EMAIL PROTECTED]
Sun Microsystems Phone: 408-276-7471
901 San Antonio Road, USCA14-303
Palo Alto, CA 94303-4900



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-11 Thread costinm

On Sun, 11 Aug 2002, Patrick Luby wrote:

  IMHO that's _totally_ unacceptable ( having tomcat5 work only with 
  xerces).
 
 I think that the dependency on Xerces 2.0.1 is excessively restrictive 
 as well. IIRC (maybe Jean-François could provide some of the details he 
 found?), Xerces 2.0.1 was the only Xerces parser that we have found so 
 far that does not throw StackOverflow or other fatal exceptions when an 
 XML file using XML schema is parsed. I believe (Jean-François: let me 
 know if my understanding is incorrect) that this problem exists even if 
 schema validation is turned off.

I can confirm that tomcat5 works just fine with crimson if validation
is off ( and it starts much faster - 6-7 seconds ).

  And having schema validation turned on by default has a strong -1 from
  me - if the spec _requires_ schema validation, then implement it at 
  deployment time. The performance hit is just unacceptable. 
 
 Any performance increases through delayed validation sounds good to me.

It's not 'delayed'. There are 2 choices: one ( used in 3.3 ) is to 
put a 'marker' in work/ and check the timestamp to avoid validating
a file that was validated before and didn't changed.

The 'right' solution (IMO) is to have a clearly defined 'deploy'
stage, and have the validation done at deploy time. 

The 'deploy' stage is also needed for jk2 ( to generate apache
config files for example ). 

Every time web.xml ( or another .xml ) file changes the app
should be redeployed ( i.e. the 'deploy' hooks run ). 

I can live with the first aproach, or even with a global option
to turn off validation. 

  ( in the process we should also move DTD validation to the same 
  stage and stop doing it on every startup if the xml file didn't change )
  
 
 Makes sense. Especially since we use this same technique for JSP page 
 compilation.

Do we ? It didn't seem so when I looked at the code. 

Actually it somehow seems that something is looking for TLDs 
at startup - that's a bug for me. The TLDs should be processed
when the first JSP is complied - not before. If a webapp
doesn't use JSPs or uses precompiled JSPs ( which is a very
good idea IMO ) - then there is no point on scanning each 
jar for TLDs. 

Costin


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-11 Thread Bill Barker


 Actually it somehow seems that something is looking for TLDs
 at startup - that's a bug for me. The TLDs should be processed
 when the first JSP is complied - not before. If a webapp
 doesn't use JSPs or uses precompiled JSPs ( which is a very
 good idea IMO ) - then there is no point on scanning each
 jar for TLDs.

I don't know anybody that likes it, but it's required by the JSP-1.2 spec
(and still in the current draft of the JSP-2.0 spec).  The TLDs may contain
Listeners, and the only way to get them registered is to scan at startup.


 Costin


 --
 To unsubscribe, e-mail:
mailto:[EMAIL PROTECTED]
 For additional commands, e-mail:
mailto:[EMAIL PROTECTED]



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-11 Thread costinm

On Sun, 11 Aug 2002, Bill Barker wrote:

 I don't know anybody that likes it, but it's required by the JSP-1.2 spec
 (and still in the current draft of the JSP-2.0 spec).  The TLDs may contain
 Listeners, and the only way to get them registered is to scan at startup.

Ops, I missed that one. 

So you mean even if a webapp has no JSP at all - the TLDs are still
processed ( sort of extension to web.xml ) ? I allways tought they
are for translation, not runtime. 

I just downloaded the new servlet draft - and it seems the welcome file
it defines is still unimplementable and violates all the current 
practices... I'm beginning to wonder who is Apache's representative to
the JCP and how will he make the decision on what to vote...


Costin




 
 
  Costin
 
 
  --
  To unsubscribe, e-mail:
 mailto:[EMAIL PROTECTED]
  For additional commands, e-mail:
 mailto:[EMAIL PROTECTED]
 
 
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
 


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-11 Thread Bob Herrmann

On Sun, 2002-08-11 at 11:25, Jayson Falkner wrote:
 I have been using the same thing. The only downside is the download 
 time, but, IMO it would be great to have this included and encouraged 
 for use with the Tomcat 5 build file.
 
 Way to go Bob!

Thanks, although I just cut/pasted Ian Darwin's example.

It builds tomcat5 pretty well, but I would really like it if it also did
these things,

 - building dist, start tomcat up
 - download and run watchdog and generate a report
 - If the report fails, then send an email to people who committed in
past 24 hours
 - run automatically every 24 hours.

Sort of a mini-gump.

Cheers,
-bob


 
 Jayson Falkner
 [EMAIL PROTECTED]
 
 Bob Herrmann wrote:
  Yea, I liked your script, this one builds Tomcat 5.
  
  BUILDING.TXT could almost just say All you need is JDK1.4 and Ant1.5
  then just type 'ant' and a working Tomcat 5 development tree is built.
  (If you are behind a firewall, you may need to adjust proxy settings.)
  
  This should be cross platform (haven't tested it on Win32.)
  
  Cheers,
  -bob
  
  project name=CVS Retrieval default=populate
  
  property file=build.properties/
  
  property name=apache.dir value=${user.home}/TC5/
  property name=base.path value=${apache.dir}/download/
  
  property name=cvsroot
 value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/
  
  target name=populate depends=init,checkout,buildit /
  
  target name=init
  tstamp/
  mkdir dir=${apache.dir}/ 
  mkdir dir=${base.path}/ 
  /target
  
  target name=checkout depends=init
  
  cvs package=jakarta-servletapi-5
  cvsRoot=${cvsroot}
  dest=${apache.dir}
  /
  cvs package=jakarta-tomcat-catalina
  cvsRoot=${cvsroot}
  dest=${apache.dir}
  /
  cvs package=jakarta-tomcat-5
  cvsRoot=${cvsroot}
  dest=${apache.dir}
  /
  cvs package=jakarta-tomcat-connectors
  cvsRoot=${cvsroot}
  dest=${apache.dir}
  /
  cvs package=jakarta-tomcat-jasper
  cvsRoot=${cvsroot}
  dest=${apache.dir}
  /
  cvs package=jakarta-tomcat-5
  cvsRoot=${cvsroot}
  dest=${apache.dir}
  /
  
  /target
  
  target name=buildit depends=init
  
  echo message=Commons-logging build dies without this
   file=${base.path}/LICENSE /
  
  ant dir=${apache.dir}/jakarta-tomcat-5
   target=download /
  
  ant dir=${apache.dir}/jakarta-tomcat-5
   target=dist /
  /target
  
  /project
  
  
  On Tue, 2002-08-06 at 13:43, Ian Darwin wrote:
  
 On August 6, 2002 01:01 pm, you wrote:
 
 The main thing missing is a target which sets up the CVS repositories,
 so it's quite close to what we have now. Problem is, I'm not too happy
 at the idea of doing that automatically.
 
 Trivial to do with Ant, but I agree, it's risky to automate this. OTOH if
 it's well documented what it's doing, people should be OK with it.
 
 Ian
 
 project name=CVS Retrieval default=populate
 
 !-- $Id: build.xml,v 1.1 2002/06/11 15:35:57 ian Exp $ --
 
 !-- Maybe find a better way of setting this --
 property name=apache.dir value=${user.home}/src/apache/
 property name=cvs.root
 value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/
 
 target name=init
 tstamp/
 mkdir dir=${apache.dir}/ 
 /target
 
 target name=populate depends=init
 
 cvs package=jakarta-tomcat-4.0
 cvsRoot=${cvs.root}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-connectors
 cvsRoot=${cvs.root}
 dest=${apache.dir}
 /
 cvs package=jakarta-tomcat-jasper
 cvsRoot=${cvs.root}
 dest=${apache.dir}
 /
 /target
 /project
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
  
  
  
  
  --
  To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
  For additional commands, e-mail: mailto:[EMAIL PROTECTED]
  
  
  
 
 
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
-- 
Cheers,
-bob


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-09 Thread Bob Herrmann

Yea, I liked your script, this one builds Tomcat 5.

BUILDING.TXT could almost just say All you need is JDK1.4 and Ant1.5
then just type 'ant' and a working Tomcat 5 development tree is built.
(If you are behind a firewall, you may need to adjust proxy settings.)

This should be cross platform (haven't tested it on Win32.)

Cheers,
-bob

project name=CVS Retrieval default=populate

property file=build.properties/

property name=apache.dir value=${user.home}/TC5/
property name=base.path value=${apache.dir}/download/

property name=cvsroot
   value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/

target name=populate depends=init,checkout,buildit /

target name=init
tstamp/
mkdir dir=${apache.dir}/ 
mkdir dir=${base.path}/ 
/target

target name=checkout depends=init

cvs package=jakarta-servletapi-5
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-catalina
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-5
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-connectors
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-jasper
cvsRoot=${cvsroot}
dest=${apache.dir}
/
cvs package=jakarta-tomcat-5
cvsRoot=${cvsroot}
dest=${apache.dir}
/

/target

target name=buildit depends=init

echo message=Commons-logging build dies without this
 file=${base.path}/LICENSE /

ant dir=${apache.dir}/jakarta-tomcat-5
 target=download /

ant dir=${apache.dir}/jakarta-tomcat-5
 target=dist /
/target

/project


On Tue, 2002-08-06 at 13:43, Ian Darwin wrote:
 On August 6, 2002 01:01 pm, you wrote:
  The main thing missing is a target which sets up the CVS repositories,
  so it's quite close to what we have now. Problem is, I'm not too happy
  at the idea of doing that automatically.
 
 Trivial to do with Ant, but I agree, it's risky to automate this. OTOH if
 it's well documented what it's doing, people should be OK with it.
 
 Ian
 
 project name=CVS Retrieval default=populate
 
   !-- $Id: build.xml,v 1.1 2002/06/11 15:35:57 ian Exp $ --
 
   !-- Maybe find a better way of setting this --
   property name=apache.dir value=${user.home}/src/apache/
   property name=cvs.root
   value=:pserver:[EMAIL PROTECTED]:/home/cvspublic/
 
   target name=init
   tstamp/
   mkdir dir=${apache.dir}/ 
   /target
 
   target name=populate depends=init
 
   cvs package=jakarta-tomcat-4.0
   cvsRoot=${cvs.root}
   dest=${apache.dir}
   /
   cvs package=jakarta-tomcat-connectors
   cvsRoot=${cvs.root}
   dest=${apache.dir}
   /
   cvs package=jakarta-tomcat-jasper
   cvsRoot=${cvs.root}
   dest=${apache.dir}
   /
   /target
 /project
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-04 Thread Remy Maucherat

Bob Herrmann wrote:
 Hi.  Just thought I would share the steps I followed to Build tomcat 5
 on a RedHat 7.2 box.  The box is net connected via DSL.
 
 I had already downloaded JDK1.4 and Ant1.5
 
 $ mkdir tc5
 $ cd tc5
 $ export JAVA_HOME=/usr/java/j2sdk1.4.0
 $ export PATH=$JAVA_HOME/bin:$PATH:/home/bob/tc5/jakarta-ant-1.5/bin
 $ cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic login
 $ cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic checkout
 jakarta-tomcat-5 jakarta-tomcat-connectors jakarta-tomcat-jasper
 jakarta-servletapi-5 jakarta-tomcat-catalina
 $ cd jakarta-tomcat-5
 $ sed -e
 's/^base.path=\/usr\/local$/base.path=\/home\/test\/tc5\/dependson/'
 build.properties.default  t
 $ mv t build.properties.default 
 $ mkdir /home/bob/tc5/dependson
 $ echo   /home/bob/tc5/dependson/LICENSE
 $ ant download
 $ ant dist
 $ dist/bin/startup.sh 
 $ tail /home/bob/tc5/jakarta-tomcat-5/dist/logs/catalina.out

I'd like to wait a bit before we do some instructions, as the build may 
not be stable yet (see Costin's recent experimentation to try to make 
building faster).

(it looks simpler than 4.x, though, and that's a good thing)

Remy


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-04 Thread Patrick Luby

Bob,

Bob Herrmann wrote:
 $ sed -e
 's/^base.path=\/usr\/local$/base.path=\/home\/test\/tc5\/dependson/'
 build.properties.default  t
 $ mv t build.properties.default 

You don't want to replace build.properties.default. Instead you want to 
put your customized file in build.properties. That way, if 
build.properties.default changes, you will know. Also, using 
build.properties prevents accidental commits to build.properties.default.

Patrick

-- 

Patrick Luby Email: [EMAIL PROTECTED]
Sun Microsystems Phone: 408-276-7471
901 San Antonio Road, USCA14-303
Palo Alto, CA 94303-4900



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [5.0] Build notes

2002-08-04 Thread costinm

On Sun, 4 Aug 2002, Patrick Luby wrote:

 Bob,
 
 Bob Herrmann wrote:
  $ sed -e
  's/^base.path=\/usr\/local$/base.path=\/home\/test\/tc5\/dependson/'
  build.properties.default  t
  $ mv t build.properties.default 
 
 You don't want to replace build.properties.default. Instead you want to 
 put your customized file in build.properties. That way, if 
 build.properties.default changes, you will know. Also, using 
 build.properties prevents accidental commits to build.properties.default.

Another sugestion ( see my commit ) - just create a ~/build.properties
and use it to override base.path.

That means: 

  base.path=/.
( and nothing else - unless you have some other overrides to make ).

No need to copy the whole file or do any file modifications.

Costin


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]