Re: Proposed dirlayout document

2001-05-08 Thread Ceki Gülcü

At 08:36 08.05.2001 +1000, you wrote:
At 06:09  7/5/01 +0200, Ceki Gülcü wrote:
Unfortunately half projects use build for (1) and half use it for (2). My
recomendation would be to invent a new name for (1) that conflicts with no
existing project - perhaps intermediate. For (2) I recomend tools as
that makes it very clear what is contained within that directory.

I have asked this before but is there a need for an intermediary
directory? For example, to take an example I am familiar with, Tomcat 4.x,
a damn good project I might add, has a build/ directory and a dist/
directory where dist/ is a copy of build/. I do not know why Tomcat is
doing this but it is. Other projects are doing similar things. I am
obviously missing something...

It is neccessary as a lot of things may be generated but not distributed in
final distribution. For instance in Avalon/Cornerstone we
* we create .class files (that are not distributed)
* pack the classes int jar files  (that are not distributed)
* pack these jar files into another deployment jar (is distributed)

OK but have you considered delete? Cheers, Ceki



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




Re: Proposed dirlayout document

2001-05-08 Thread Charles Benett



Peter Donald wrote:
 The other group was
 1. name of directory of generated local docs if any
 2. name of directory of generated www docs if any
 3. Whether local docs == www docs
 
 Some projects don't have any generated docs in CVS. Others only have one
 version. Others have one version in CVS and one local, the version in CVS
 being dated to last release.
 
 Ideally we wouldn't have any generated docs in CVS but as no-one has
 stepped up to fix that - I guess we gotta keep it.
 
 Some projects don't do releases as such and thus can synch the web docs
 whenever they want. Thus they don't need to have a separate www and local
 docs (assuming local==www).
 
 In an ideal world there would not be a need at all for any docs in CVS and
 (thus no www/docs dir) however until this is in place I am really not sure
 what to do.
 
 I think we should make it mandatory that local==www for simplicity sake.

-1 I think we should let projects choose whether local (ie /docs) ==
www. For projects doing releases I guess they would normally want www to
describe latest release but /docs to describe current cvs.

Ceki's description of log4j's doc dance works, but makes altering www
docs post-release tricky. I think docs are likely to be a bit behind the
curve, particularly for smaller projects. So, the current system of
checking out www docs from cvs makes sense - it allows doc amends for
last release to be tracked.

On the other hand, do we need generated docs in cvs /docs? Obviously we
need generated docs in the (binary) dist for nightly builds and
milestone releases. But that comes from the build / release process.

So I suggest:
/src/xdocs - Documentation files in XML format (no change)
/docs -  empty, standard location for generated docs of current
code.
/www -   if no releases - copy of generated docs
 if releases - copy of generated docs at last release.

Charles

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




Re: Proposed dirlayout document

2001-05-08 Thread Ceki Gülcü

At 18:36 08.05.2001 +1000, you wrote:
At 08:31  8/5/01 +0200, Ceki Gülcü wrote:
At 08:36 08.05.2001 +1000, you wrote:
At 06:09  7/5/01 +0200, Ceki Gülcü wrote:
Unfortunately half projects use build for (1) and half use it for
(2). My
recomendation would be to invent a new name for (1) that conflicts with no
existing project - perhaps intermediate. For (2) I recomend tools as
that makes it very clear what is contained within that directory.

I have asked this before but is there a need for an intermediary
directory? For example, to take an example I am familiar with, Tomcat 4.x,
a damn good project I might add, has a build/ directory and a dist/
directory where dist/ is a copy of build/. I do not know why Tomcat is
doing this but it is. Other projects are doing similar things. I am
obviously missing something...

It is neccessary as a lot of things may be generated but not distributed in
final distribution. For instance in Avalon/Cornerstone we
* we create .class files (that are not distributed)
* pack the classes int jar files  (that are not distributed)
* pack these jar files into another deployment jar (is distributed)

OK but have you considered delete? Cheers, Ceki

And rebuild the whole thing every rebuild ? - no thanks - I don't see the
need to put in a hack to get around directory names. Directory should
integrate into build process - not the reverse.

If deleting is not an option, then one can selectively tar (or zip) files for the 
distro. In your example, you could exclude the .class files and the intermediary jar 
files when creating the distribution file(s). How does that sound? Ceki 


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




Re: Proposed dirlayout document

2001-05-08 Thread Ceki Gülcü

At 15:22 08.05.2001 +0100, you wrote:


Peter Donald wrote:
 The other group was
 1. name of directory of generated local docs if any
 2. name of directory of generated www docs if any
 3. Whether local docs == www docs
 
 Some projects don't have any generated docs in CVS. Others only have one
 version. Others have one version in CVS and one local, the version in CVS
 being dated to last release.
 
 Ideally we wouldn't have any generated docs in CVS but as no-one has
 stepped up to fix that - I guess we gotta keep it.
 
 Some projects don't do releases as such and thus can synch the web docs
 whenever they want. Thus they don't need to have a separate www and local
 docs (assuming local==www).
 
 In an ideal world there would not be a need at all for any docs in CVS and
 (thus no www/docs dir) however until this is in place I am really not sure
 what to do.
 
 I think we should make it mandatory that local==www for simplicity sake.

-1 I think we should let projects choose whether local (ie /docs) ==
www. For projects doing releases I guess they would normally want www to
describe latest release but /docs to describe current cvs.

Charles,

Agreed. Mandating that the docs contained in the distribution and the docs available 
on the jakarta web server match exactly is too restrictive. However, allowing the user 
to browse the documentation locally from the files contained within the distribution 
is a nice feature. Wouldn't you agree? 

Ceki's description of log4j's doc dance works, but makes altering www
docs post-release tricky. I think docs are likely to be a bit behind the
curve, particularly for smaller projects. 

True. 

So, the current system of checking out www docs from cvs makes sense - it allows doc 
amends for
last release to be tracked.

I think no one is contesting that tracking source files using CVS is a good idea. 
However, the CVS update operation is one way of copying the latest version of doc 
files to the jakarta web server. It is certainly not the only way. Reading your 
comments below, I think that we are actually in total agreement.

On the other hand, do we need generated docs in cvs /docs? Obviously we
need generated docs in the (binary) dist for nightly builds and
milestone releases. But that comes from the build / release process.

So I suggest:
/src/xdocs - Documentation files in XML format (no change)
/docs -  empty, standard location for generated docs of current
code.
/www -   if no releases - copy of generated docs
 if releases - copy of generated docs at last release.

I am afraid I don't get it. First, by generated documentation I assume you mean the 
javadocs. Right?
Wouldn't it be possible to have a single top-level documentation directory, says 
docs/, and have the javadocs go under docs/api/? I believe this is the way the XML 
projects do it.

What do you think? Regards, Ceki



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




Re: Proposed dirlayout document

2001-05-08 Thread Craig R. McClanahan



On Tue, 8 May 2001, Ceki [iso-8859-1] Gülcü wrote:

 
 Agreed. Mandating that the docs contained in the distribution and the
 docs available on the jakarta web server match exactly is too
 restrictive.

+1 -- it should be up to the project.  I've got projects that do it both
ways.

 However, allowing the user to browse the documentation
 locally from the files contained within the distribution is a nice
 feature. Wouldn't you agree?


Also +1.  One approach is to include a webapp of static HTML files that
the user can drop into their container (if they have one), or use as a
static directory of files (if they don't).

 
 Ceki's description of log4j's doc dance works, but makes altering www
 docs post-release tricky. I think docs are likely to be a bit behind the
 curve, particularly for smaller projects. 
 
 True. 
 
 So, the current system of checking out www docs from cvs makes sense
 - it allows doc amends for last release to be tracked.
 
 I think no one is contesting that tracking source files using CVS is a
 good idea. However, the CVS update operation is one way of copying the
 latest version of doc files to the jakarta web server. It is certainly
 not the only way. Reading your comments below, I think that we are
 actually in total agreement.
 

I'm not a fan of the way jakarta-site2 makes you check in the generated
HTML either.  I'd rather see the cycle work like this:

Local machine:
  - Edit XML (or whatever) sources
  - Generate and test
  - Check in XML sources

Daedalus:
  - Check out XML sources
  - Generate in place

Formerly, we didn't have a useful Java2 environment on the server
(locus).  Now we do -- let's use it :-)

Craig



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




Re: Proposed dirlayout document

2001-05-08 Thread Ceki Gülcü

Hi Craig,

Ceki, could you expand on why you're objecting to the multistage build
process?  I'm with Peter on this one ... multi-stage builds save time for
the developers (because they do the minimum amount of work required), and
also make the dist target work better:

- They reuse what's already been done, with transformations as needed
  (so it runs faster, versus rebuilding everything again)

Indeed.

- They add any *extra* steps needed (create Javadocs, copy sources, etc.)
  that are appropriate for the binary distribution.

There is nothing wrong with a multistage build process. It is pretty obvious that one 
needs to split the build process into multiple stages. Having a multistaged build is 
not the same as requiring a intermediary build directory. 

IMHO, the intermediate build directory can and should be avoided. Instead of 
selectively copying from the intermediate build/ directory to dist/, one can generate 
directly to dist/ and use tar/zip selectively to create the distribution. The latter 
solution keeps just one copy of files which saves space. More importantly the latter 
is less error-prone as there is only one place to edit files. Does that make sense? 
Ceki

- Most fundamentally, they let the shape of the intermediate build
  directory tree be different from that of the binary distribution
  if that's appropriate to your project.

Couldn't selective tar or zip operation work? Couldn't the copy operation be avoided?

What is it that you believe we are missing?

I dunno. The only difference I see is the requirement for an intermediate directory. 
Regards, Ceki








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




Re: Proposed dirlayout document

2001-05-08 Thread Charles Benett



Ceki Gülcü wrote:
 
 At 15:22 08.05.2001 +0100, you wrote:
 
 Peter Donald wrote:
  The other group was
  1. name of directory of generated local docs if any
  2. name of directory of generated www docs if any
  3. Whether local docs == www docs
 
  Some projects don't have any generated docs in CVS. Others only have one
  version. Others have one version in CVS and one local, the version in CVS
  being dated to last release.
 
  Ideally we wouldn't have any generated docs in CVS but as no-one has
  stepped up to fix that - I guess we gotta keep it.
 
  Some projects don't do releases as such and thus can synch the web docs
  whenever they want. Thus they don't need to have a separate www and local
  docs (assuming local==www).
 
  In an ideal world there would not be a need at all for any docs in CVS and
  (thus no www/docs dir) however until this is in place I am really not sure
  what to do.
 
  I think we should make it mandatory that local==www for simplicity sake.
 
 -1 I think we should let projects choose whether local (ie /docs) ==
 www. For projects doing releases I guess they would normally want www to
 describe latest release but /docs to describe current cvs.
 
 Charles,
 
 Agreed. Mandating that the docs contained in the distribution and the docs available 
on the jakarta web server match exactly is too restrictive. However, allowing the 
user to browse the documentation locally from the files contained within the 
distribution is a nice feature. Wouldn't you agree?

Yes - but that doesn't mean that CVS has too contain any generated docs
(see below)

 
 Ceki's description of log4j's doc dance works, but makes altering www
 docs post-release tricky. I think docs are likely to be a bit behind the
 curve, particularly for smaller projects.
 
 True.
 
 So, the current system of checking out www docs from cvs makes sense - it allows 
doc amends for
 last release to be tracked.
 
 I think no one is contesting that tracking source files using CVS is a good idea. 
However, the CVS update operation is one way of copying the latest version of doc 
files to the jakarta web server. It is certainly not the only way. Reading your 
comments below, I think that we are actually in total agreement.
 
 On the other hand, do we need generated docs in cvs /docs? Obviously we
 need generated docs in the (binary) dist for nightly builds and
 milestone releases. But that comes from the build / release process.
 
 So I suggest:
 /src/xdocs - Documentation files in XML format (no change)
 /docs -  empty, standard location for generated docs of current
 code.
 /www -   if no releases - copy of generated docs
  if releases - copy of generated docs at last release.
 
 I am afraid I don't get it. First, by generated documentation I assume you mean the 
javadocs. Right?
 Wouldn't it be possible to have a single top-level documentation directory, says 
docs/, and have the javadocs go under docs/api/? I believe this is the way the XML 
projects do it.

Woops, what i meant by 'generated docs' is the output of Anakia or
Stylebook. Javadocs in docs/api is fine. My point was its really only
the binary dists that need generated docs. (And www possibly - see
Craig's email)

Charles

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




Re: Proposed dirlayout document

2001-05-08 Thread Charles Benett



Craig R. McClanahan wrote:
 
 On Tue, 8 May 2001, Ceki [iso-8859-1] Gülcü wrote:
 
 
  I think no one is contesting that tracking source files using CVS is a
  good idea. However, the CVS update operation is one way of copying the
  latest version of doc files to the jakarta web server. It is certainly
  not the only way. Reading your comments below, I think that we are
  actually in total agreement.
 
 
 I'm not a fan of the way jakarta-site2 makes you check in the generated
 HTML either.  I'd rather see the cycle work like this:
 
 Local machine:
   - Edit XML (or whatever) sources
   - Generate and test
   - Check in XML sources
 
 Daedalus:
   - Check out XML sources
   - Generate in place
 
 Formerly, we didn't have a useful Java2 environment on the server
 (locus).  Now we do -- let's use it :-)

Basically, I agree. The only issue is if you want the web docs to
reflect a released version and also have docs for the current state of
CVS. We can either do it by checking in HTML to a www dir (and using
craig's method for docs reflecting current state of cvs) or only have
xml sources in cvs and use the branch facility of cvs (which I fear is
morely likely to get messed up).

Charles

Charles

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




Re: Proposed dirlayout document

2001-05-08 Thread Peter Donald

At 08:30  8/5/01 +0200, Ceki Gülcü wrote:
IMHO, the intermediate build directory can and should be avoided. Instead
of selectively copying from the intermediate build/ directory to dist/, one
can generate directly to dist/ and use tar/zip selectively to create the
distribution. The latter solution keeps just one copy of files which saves
space. More importantly the latter is less error-prone as there is only one
place to edit files. Does that make sense? Ceki

I am not sure why uyou think it is **less** error-prone - I would say it is
far more error prone. Anything which requires a developer to think about
complex structures - many paths to include/exclude (especially when end
product is an Application like Avalon/Phoenix or Tomcat) is much more error
prone.

Intermediate directories reduce complexity for developer - they no longer
have to worry about managing a single directory to do multiple things.
Instead they have extremely controlled copying from intermediate to dist
directory ;) faah simpler, less errror prone ;)

Cheers,

Pete

*-*
| Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof.   |
|  - John Kenneth Galbraith   |
*-*


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




Re: Proposed dirlayout document

2001-05-08 Thread Daniel F. Savarese


IMHO, the intermediate build directory can and should be avoided. Instead of s
electively copying from the intermediate build/ directory to dist/, one can ge
nerate directly to dist/ and use tar/zip selectively to create the distributio
n. The latter solution keeps just one copy of files which saves space. More im
portantly the latter is less error-prone as there is only one place to edit fi
les. Does that make sense? Ceki

It's pretty normal to do this kind of a thing.
The distribution is meant for outside consumption and is automatically
generated by the configuration management system (in this case ant),
so you never directly modify it.  Therefore it shouldn't be any more
error-prone.  The build tree is meant for internal consumption and can
contain a significantly different layout, containing all sorts of stuff
such as infrastructure for quality assurance that never makes it into the
distribution, but is generally tailored for facilitating development and
testing.

I think the reason this whole thing is a bit muddled is because we're
mostly producing development software, where the line between consumer
and producer is blurred.  Also, being open source, with an emphasis
on open, there's less of an impetus to hide development artifacts
from the consumer.  At any rate, I think there's a clear need for
allowing a development build tree separate from the distribution tree.
Projects primarily constituted of development libraries probably won't
make use of it, but others consisting of one or more applications,
probably will.

daniel



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




Proposed dirlayout document

2001-05-07 Thread Ceki Gülcü


Hi everyone,

Having recently looked at http://jakarta.apache.org/site/dirlayout.html, my impression 
was that it allowed  too many alternatives on a large number of points rendering the 
document somewhat confusing (useless?). I am against making the dirlayout document an 
exhaustive list of all possible layout structures. A guideline document should be a 
bit more assertive.

With your permission I would like to eliminate some of the alternatives. This is 
surely going upset some people. I am asking for the permission to make some 
potentially controversial  changes. Let me repeat that I do not consider myself as an 
expert in ANT or to know the optimal directory structures.  As such, you are strongly 
encouraged to make suggestions. 

In order to avoid endless discussion, I am willing to cede my role if anyone 
volunteers to take up the responsibility for the document. Best regards, Ceki



--
Ceki Gülcü


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




Re: Proposed dirlayout document

2001-05-07 Thread Conor MacNeill

Ceki,

+1

I agree. Too much optionality in a standard means there is nothing standard
about it. I raised some issues about the original layout. These were just
raising what I thought was the common Jakarta approach to some of these
things.

So, lets have a single approach with little optionality. It should be
non-binding with a goal to move current projects to this standard.

I don't think Ant should dictate the structure. I'm confident it will be
able to support anything reasonable.

Bring it on ...

Conor

- Original Message -
From: Ceki Gülcü [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, May 07, 2001 9:13 PM
Subject: Proposed dirlayout document



Hi everyone,

Having recently looked at http://jakarta.apache.org/site/dirlayout.html, my
impression was that it allowed  too many alternatives on a large number of
points rendering the document somewhat confusing (useless?). I am against
making the dirlayout document an exhaustive list of all possible layout
structures. A guideline document should be a bit more assertive.

With your permission I would like to eliminate some of the alternatives.
This is surely going upset some people. I am asking for the permission to
make some potentially controversial  changes. Let me repeat that I do not
consider myself as an expert in ANT or to know the optimal directory
structures.  As such, you are strongly encouraged to make suggestions.

In order to avoid endless discussion, I am willing to cede my role if
anyone volunteers to take up the responsibility for the document. Best
regards, Ceki



--
Ceki Gülcü


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




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




Re: Proposed dirlayout document

2001-05-07 Thread Jason van Zyl

Ceki Gülcü wrote:
 
 Hi everyone,
 
 Having recently looked at http://jakarta.apache.org/site/dirlayout.html, my 
impression was that it allowed  too many alternatives on a large number of points 
rendering the document somewhat confusing (useless?). I am against making the 
dirlayout document an exhaustive list of all possible layout structures. A guideline 
document should be a bit more assertive.
 
 With your permission I would like to eliminate some of the alternatives. This is 
surely going upset some people. I am asking for the permission to make some 
potentially controversial  changes. Let me repeat that I do not consider myself as an 
expert in ANT or to know the optimal directory structures.  As such, you are strongly 
encouraged to make suggestions.
 
 In order to avoid endless discussion, I am willing to cede my role if anyone 
volunteers to take up the responsibility for the document. Best regards, Ceki

+1

I too feel that endless options are a bad thing. I say go for it. If
you're
willing to do the work, I'm willing to accept what you do.
 

 
 --
 Ceki Gülcü
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]

-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]

http://jakarta.apache.org/velocity
http://jakarta.apache.org/turbine
http://jakarta.apache.org/commons
http://tambora.zenplex.org

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




Re: Proposed dirlayout document

2001-05-07 Thread Ceki Gülcü

At 15:03 07.05.2001 +0100, you wrote:
+1 also

Here are some comments I have after reading the dirlayout.html file (for the
first time, I have to admit. Actually I don't know where it is linked to on
the jakarta web site !) ...

I don't want to start a lengthy discussion (as it is very difficult to reach
an agreement on these subjects ... :) ) but I still wanted to help ... :)

Sure, all suggestions are welcome and even encouraged.


1) There is no directory defined for configuration files (top level
properties file, top level xml files, manifest file to include in jar, ...).
Do we want to define a location for these ?

Peter's suggestion in a follow up mail makes sense. Just to make sure, what do you 
mean by configuration files (top level properties file, top level xml files)? Are 
these config files for ANT?

Let me mention that I have had a hard time to have build.xml file in anywhere except 
the project top level directory but that might be due to my level of incompetence.


2) The rule for the output directory says : either bin/ or build/. I think
that a) we must make up our minds on one choice only and b) then names are
not well choosen as they be misinterpreted. I would suggest something less
equivocal like out/ : build/ can be both the location of the files needed
for building the project or the result of the build and bin/ can be location
of generated executables or executable needed by the project for some tasks.
Also, bin/ is inherited from previous languages like C/C++ where you built
and executable. In java it is not really an executable, more like a library
but lib/ wouldn't be good either.

I agree, bin/ implies an executable and build/ can be confused with the files required 
for building, or the intermediary files or the (final) results of the build.

Although out/ is quite reasonable, it also leaves an ambiguity. Does out/ contain the 
actual distribution (final) results or intermediary results?


3) Until we all agree, I would let the project decide on how to use Ant :
a) as an application that need to be installed on the computer doing the
build. This means no need to have ant.jar, optional.jar, xerces.jar,
xalan.jar, stylebook.jar,  in the build/lib directory and no .bat or .sh
files needed either.
b) as a component, i.e. located in build/lib with all it's needed jar
files

It is up to the project to decide whether to include jar files or not whether in CVS 
or in the actual distribution.


4) The section on docs/ is not clear. Is it output docs not in CVS or non
generated docs in CVS. It seems to be both. Should be clarified I think

IMHO, there is no absolute requirement to have the generated doc files under CVS 
control. As long the docs/ directory contains all the files in the project's home page 
it is possible to dump the contents of the docs/ directory to the directory 
corresponding to http://jakarta.apache.org/some_project. 

For log4j, this is what we do:

1) At project build time, we tar and zip the contents of the distribution to 
jakarta-log4j-vX.X.tar.gz.
2) On the jakarta web server, we untar jakarta-log4j-vX.X.tar.gz in 
$JAKARTA_WWW/log4j/ where $JAKARTA_WWW is the top-level directory for all jakarta 
project home pages. This creates a directory called 
$JAKARTA_WWW/log4j/jakarta-log4j-vX.X/
3) We soft link $JAKARTA_WWW/log4j/jakarta-log4j-vX.X/docs/ to $JAKARTA_WWW/log4j/docs/
4) We also (once and for all) redirect most requests to $JAKARTA_WWW/log4j/ to 
$JAKARTA_WWW/log4j/docs/. See the .htaccess file under $JAKARTA_WWW/log4j/.

Are you confused yet? I would be... :-) In any case, that is one way to do it without 
having files in docs/ 
under CVS control. The drawback of this approach is that you cannot easily change the 
contents of your web-site without making a new release. That sucks big time unless you 
mandate that the contents of docs/ in your distribution is identical to the contents 
of your web-site.


5) There should be only one name for the build scripts and tools. I would
tend to prefer build/ with the output directory named out/. I don't really
care about the name but there should be only one proposed

Sure.

6) 2 options should be left to the project for the external jar needed to
build/run the project. Until we reach an agreement on course ... (maybe
CJAN/JJAR - see the discussion on jakarta-commons mailing list - will help)
:
a) leave the external jars out of CVS. i.e. use a build.properties file
(used by Ant) that defines the location of needed external jars
b) or check the needed external libs in CVS with the project.

When CJAN/JJAR provide a flexible alternative, I assume that jakarta projects would 
migrate to benefit from the functionality offered by these tools. I am silently 
following the discussion in commons. Cheers, Ceki


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




Re: Proposed dirlayout document

2001-05-07 Thread Ceki Gülcü

At 15:03 07.05.2001 +0100, you wrote:
+1 also

Here are some comments I have after reading the dirlayout.html file (for the
first time, I have to admit. Actually I don't know where it is linked to on
the jakarta web site !) ...

Almost forgot. dirlayout is not linked from anywhere because it is still a draft 
document. Ceki



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




Re: Proposed dirlayout document

2001-05-07 Thread Sam Ruby

Peter Donald wrote:

 6) 2 options should be left to the project for the external jar needed
to
 build/run the project. Until we reach an agreement on course ... (maybe
 CJAN/JJAR - see the discussion on jakarta-commons mailing list - will
help)
 :
 a) leave the external jars out of CVS. i.e. use a build.properties file
 (used by Ant) that defines the location of needed external jars
 b) or check the needed external libs in CVS with the project.

 or both ;)

An expansion on Peter's comments.

What should be recommended is the ability to (1) control the actual jars
used via Ant properties, and (2) be able to easily specify these properties
using Ant properties files which can be found in the current working
directory or the user's home directory.  (Note: the name of these
properties files should be standardized too, my only vote is that they
don't start with a dot).

What the defaults for such properties should be is subject to much
controversy.  If jars are checked into CVS, then the path to these jars
would be a reasonable default.

- Sam Ruby


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




Re: Proposed dirlayout document

2001-05-07 Thread Vincent Massol


- Original Message -
From: Sam Ruby [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, May 07, 2001 4:36 PM
Subject: Re: Proposed dirlayout document


 Peter Donald wrote:
 
  6) 2 options should be left to the project for the external jar needed
 to
  build/run the project. Until we reach an agreement on course ... (maybe
  CJAN/JJAR - see the discussion on jakarta-commons mailing list - will
 help)
  :
  a) leave the external jars out of CVS. i.e. use a build.properties file
  (used by Ant) that defines the location of needed external jars
  b) or check the needed external libs in CVS with the project.
 
  or both ;)

 An expansion on Peter's comments.

 What should be recommended is the ability to (1) control the actual jars
 used via Ant properties, and (2) be able to easily specify these
properties
 using Ant properties files which can be found in the current working
 directory or the user's home directory.  (Note: the name of these
 properties files should be standardized too, my only vote is that they
 don't start with a dot).

 What the defaults for such properties should be is subject to much
 controversy.  If jars are checked into CVS, then the path to these jars
 would be a reasonable default.


+1 for defining this properties file and having the link to the jars
specified in it. My proposal for the name is build.properties as we already
have build.xml ...(please no dot as a prefix !).

 - Sam Ruby
Vincent


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




Re: Proposed dirlayout document

2001-05-07 Thread Jon Stevens

on 5/7/01 10:02 AM, Craig R. McClanahan [EMAIL PROTECTED] wrote:

 Bottom line -- having an intermediate build directory substantially
 improves the turnaround time for me as a Tomcat developer.
 
 Craig

#1. Compile
#2. Build
#3. Release

Each step inherits from the previous step.

-jon

-- 
If you come from a Perl or PHP background, JSP is a way to take
your pain to new levels. --Anonymous
http://jakarta.apache.org/velocity/ymtd/ymtd.html


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




Re: Proposed dirlayout document

2001-05-07 Thread Vincent Massol


- Original Message -
From: Ceki Gülcü [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, May 07, 2001 5:09 PM
Subject: Re: Proposed dirlayout document


[znip]

I have asked this before but is there a need for an intermediary directory?
For example, to take an example I am familiar with, Tomcat 4.x, a damn good
project I might add, has a build/ directory and a dist/ directory where
dist/ is a copy of build/. I do not know why Tomcat is doing this but it is.
Other projects are doing similar things. I am obviously missing something...

The intermediate directory (out/ in my proposition) is mostly used to
replace tokens and will contain files that are not needed for the
distribution. For example :
- in the Cactus project, I copy all the java source to the out/ directory
and replace the @version@ token by the current version. This is before doing
the compilation and generating the javadoc
- it contains the classes files which are not part of the distribution
- it contains copies of the manifest file in which tokens have been replaced
(@version@ for example)
- for Cactus, this is where I run the servlet engines and run the unit and
functional tests,
- ...

[snip]
Cheers,
Vincent



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




Re: Proposed dirlayout document

2001-05-07 Thread Craig R. McClanahan



On Mon, 7 May 2001, Ceki [iso-8859-1] Gülcü wrote:

 At 10:02 07.05.2001 -0700, you wrote:
 On Mon, 7 May 2001, Ceki [iso-8859-1] Gülcü wrote:
 
  
  I have asked this before but is there a need for an intermediary
  directory? For example, to take an example I am familiar with, Tomcat
  4.x, a damn good project I might add, has a build/ directory and a
  dist/ directory where dist/ is a copy of build/. I do not know why
  Tomcat is doing this but it is. Other projects are doing similar
  things. I am obviously missing something...
  
 
 The two targets are *not* identical.
 
 
 Tomcat developers want to do the minimum amount of work necessary to
 create a runnable version of Tomcat -- thus, they execute the default
 build.xml target (deploy-main) that creates an executable Tomcat 4.0 in
 the build directory.  To speed things up, this dispenses with Javadoc
 creation, JARing things up, and stuff like that.
 
 When you're ready to cut a release (or a nightly build), the dist target
 is used, which creates a complete binary distribution.  Obviously, large
 parts of this can be copied from the build output (it would not make
 sense to recompile everything, and so on) -- but there are also additional
 steps.  But this target is not used for daily development work.
 
 Bottom line -- having an intermediate build directory substantially
 improves the turnaround time for me as a Tomcat developer.
 
 Hi Craig,
 
 Thanks for taking the time to clarify the Tomcat build process. If I
 understand you correctly, the reason behind having two target
 directories is to speed up the creation of a work  version of
 Tomcat. Would it not be possible to have a build target that just
 creates compiled classes, a jar target to create jar files, a
 javadoc target to create javadocs and a dist target to create a
 complete distro? (The dist target would depend on jar and
 javadoc targets. The jar target would depend on build.)
 
 Thus, it would be possible to have a working version by invoking the
 build target? Regards, Ceki
 
 

Inside the scripts, that is essentially what happens.  To create a
runnable (for development) version of Tomcat 4.0 in a freshly checked out
repository, simply execute

./build.sh

in the top level directory.  Then, set CATALINA_HOME to the build
directory path (for me, that means
/home/craigmcc/Jakarta/jakarta-tomcat-4.0/build), and start it up by
saying

$CATALINA_HOME/bin/startup.sh

(or the equivalent if you're using Windows).

The default target creates a work version in the build directory,
without going to any efforts that are not yet necessary.  The dist
target assumes that the default target has been completed already (with a
depends rule) and does some extra stuff to create the binary
distribution -- which my nightly job does every night, and I do when I
create a release.  Otherwise, I never run the dist target.

Tomcat is not just a JAR file when you get done with it -- you need a
series of files in a series of directories to create the executable
product.  Therefore, in real life, the Tomcat build process is more
complex than this in its details, because there are independent build.xml
scripts for the major components (catalina, jasper, webapps) -- but they
all follow the same basic philosophy.


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


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




Re: Proposed dirlayout document

2001-05-07 Thread Peter Donald

At 05:23  7/5/01 +0100, Vincent Massol wrote:
 An expansion on Peter's comments.

 What should be recommended is the ability to (1) control the actual jars
 used via Ant properties, and (2) be able to easily specify these
properties
 using Ant properties files which can be found in the current working
 directory or the user's home directory.  (Note: the name of these
 properties files should be standardized too, my only vote is that they
 don't start with a dot).

 What the defaults for such properties should be is subject to much
 controversy.  If jars are checked into CVS, then the path to these jars
 would be a reasonable default.


+1 for defining this properties file and having the link to the jars
specified in it. My proposal for the name is build.properties as we already
have build.xml ...(please no dot as a prefix !).

I would say .ant.properties because it is what the most projects use that I
am aware of. If the dot is a problem I would suggest strip the dot except
for the property file in home directory.

Cheers,

Pete

*-*
| Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof.   |
|  - John Kenneth Galbraith   |
*-*


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




Re: Proposed dirlayout document

2001-05-07 Thread Peter Donald

At 06:09  7/5/01 +0200, Ceki Gülcü wrote:
Unfortunately half projects use build for (1) and half use it for (2). My
recomendation would be to invent a new name for (1) that conflicts with no
existing project - perhaps intermediate. For (2) I recomend tools as
that makes it very clear what is contained within that directory.

I have asked this before but is there a need for an intermediary
directory? For example, to take an example I am familiar with, Tomcat 4.x,
a damn good project I might add, has a build/ directory and a dist/
directory where dist/ is a copy of build/. I do not know why Tomcat is
doing this but it is. Other projects are doing similar things. I am
obviously missing something...

It is neccessary as a lot of things may be generated but not distributed in
final distribution. For instance in Avalon/Cornerstone we
* we create .class files (that are not distributed)
* pack the classes int jar files  (that are not distributed)
* pack these jar files into another deployment jar (is distributed)

Cheers,

Pete

*-*
| Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof.   |
|  - John Kenneth Galbraith   |
*-*


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