on 3/14/01 4:02 PM, "Conor MacNeill" <[EMAIL PROTECTED]> wrote:

> Ceki,
> 
> I would like to give you some feedback on the common directory layout
> http://jakarta.apache.org/site/dirlayout.html
> 
> This is mostly from my Ant perspective and somewhat from my impression of
> some other common practices in the Jakarta sub-projects. I do realize that
> these are just recommendations.
> 
> docs directory
> =================
> I have noticed a trend to put the sub-project's web pages into this area. I
> wonder is that is a good thing since the web pages and the user
> documentation are two different things, IMHO. The web pages are potentially
> much more ephemeral than the product documentation that accompanies a
> release. When you build a release, it may not make much sense to include
> that ephemeral information (such as sub-project news) with the project docs.

I disagree. Documentation == website. All of the documentation for a product
should be available on the website. The reason is simple...we are creating
open source. Documentation is lacking in general as well as people to
maintain it. So, whatever we have, we should make it readily accessible.

> For Ant, I made a separate directory for the webpages (webpage). I had to do
> this anyway since there was already an index.html file in the Ant docs
> directory, although I have subsequently moved that.

So: docs/site

This follows more along with the CVS conventions of the module names where
we have the website stored as "jakarta-site".

> 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

Right and we are saying it should be "dist/classes" for that directory.

> build/lib
> ==========
> If this is a non-binding recommendation, I don't see why it supports two
> locations to put the binary jars. It should either be lib or build/lib,
> IMHO.

The reason is to allow easy *.jar separation of files needed for building
and files need for running. For example, I do not need ant.jar to run
Velocity.

> 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.

dist/classes
dist/source
dist/binary

> 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.

Personally, I like bin/classes. :-) Compromise is a bitch eh? :-)

> Other
> ======
> 
> I think that there should be a recommendation that any file/dir not under
> CVS control should go into the .cvsignore file.

Yup. Edit the .xml file and add this in.

> Do we want to make recommendations about the structure of the dist
> directory? This is what end-users will actually use and there may be
> benefits in a common approach here too. In Ant, for example, we create a
> dist/bin directory to contain scripts and executables useful for running
> Ant. we also place all generated jars in the dist/lib directory. Perhaps
> they are similar or the same as these recommendations.

Yup. Edit the .xml file and add this in.

-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]

Reply via email to