At 01:34 16.03.2001 +1100, Peter Donald wrote:

>>>build directory
>>>================
>>>Many of the Jakarta projects put the build files in the project's root
>>>directory and use the build directory for build results, such as build
>>>classes which will be jarred up into the distribution
>>
>>So by build/ you actually mean the dist/ directory of the dirlayout.html
>document. As far as I can see there is nothing wrong with that except that if 
>>we make a choice regardless of what it is we should stick to it, a bit like 
>>indentation I guess.
>
>Gonna have to disagree. You do whats best when there is no significant
>advantage of doing it otherways. Standardizing on a crap standard because
>someone decrees it a standard is near lunacy.

Sure, no one is suggesting that we standardize on jolt/ for jar files. :-) 

>A lot of projects use dist/, in my personal projects I use out/ while some
>projects use bin/. 

See, these names are like colors, blue, green, or yellow... At face value, they are 
all equivalent. That's what I meant by sticking to a name. It goes without saying that 
the chosen color has to be reasonable, unlike #A26F58 or SemiHuedVelvetBlue.

>>Jon, explained that the build/lib is for building (compiling) and lib/ for 
>>runtime. I confess that I don't really understand the difference... See also 
>>the last paragraph of this note.
>
>Other projects use tools/lib/* for build/lib. This is where the jars are
>stored for tools that run during build process. None of the jars are
>included in compiling classpath or in final distribution.
>
>>>dist
>>>=========
>>>I believe this should be a distribution "image" and it is therefore not
>>>really appropriate to place the distribution binaries (.zip, .gz files) in
>>>this location. For Ant, I create the distributions into a directory called
>>>distribution. It contains the source and binary distributions, the latter
>>>being equivalent to the dist directory.
>>
>>Why are you making a distinction? What's wrong putting the distribution 
>>images, src, birnary, documentation or otherwise in dist/ and the javac 
>>generated classes under dist/classes?  
>
>Some projects actually want to run from dist target. So the dist target
>should be identical to the one that is included in binary distributions. In
>theory you should be able to go
>
>> cd dist/bin
>> run.sh

Sure. 

>>>dist/classes
>>>=============
>>>I don't believe we want generally want raw classfiles in the dist directory.
>>>Many projects put this into build/classes and place just jars in the dist
>>>directory.
>>
>>Why? What's the rationale? Moreover, in the classes directory there might be 
>>more classes than in the jars.
>
>Because dist is an image of binary distribution and it is very rare that
>raw class files are included in binary distribution (and if they are the
>developers should be shot).

Forgive my ignorance but what is so wrong with putting "raw" class files in the 
distrib along jar files? Is it the wasted disk space?

>>How about:
>>
>>dist/lib   for generated jar files and extraneous libs
>>dist/bin/   for scripts (generated or not)
>>dist/image  for actual project distributions (tar.gz or zip files)
>
>You don't get what is being said. The dist directory is unzipped version of
>binary distribution. So that would be liking distributing Log4j-1.0.zip
>that contained image/Log4j-1.0.zip inside it. That is why it is good to
>make distinction and place distributions in another directory (ie
>distributions).

I am not aware of the assumption that the dist directory is meant the unzipped version 
of the binary distribution. Not at all. 

If the files

xdocs/manual.xml
build/build.xml
build/build.sh
build/build.bat
build/lib/ant.jar
build/lib/xerces.jar
src/x.java  

are contained in the CVS module for project X, then after compiling, generating 
javadocs, jarring, and building a distribution image, one would get:

docs/manual.html
docs/api/
docs/api/x.html
docs/api/overview.html
docs/api/index.html
docs/api/etc...
build/build.xml
build/build.sh
build/build.bat
build/lib/ant.jar
build/lib/xerces.jar
src/x.java  
xdocs/manual.xml
dist/classes/x.class
dist/lib/X.jar

dist/images/X.tar.gz
dist/images/X.zip

where X.tar.gz and X.zip contain all the above files other than themselves. The images 
can be refined to contain only source code, documentation, or binaries. Does that make 
sense? Ceki 












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

Reply via email to