Source code directory layout

This the recommended source code layout for all our Eiffel projects. Note that a specific project may not need or have all the directories below.

Directory Description
src Source code for specific Eiffel programs and shared libraries.
src/lib Eiffel library source code.
src/test Source code for test programs.
src/examples Source code for example programs and shared libraries.
bld Project build files. The directory strycture should be a mirror of that under src.
dat Data files.
ins Installation and packaging scripts and files.
rel Various files for inclusion in releases, like configuration files etc.
doc Documentation.
res Media resource files like images, bitmaps, etc.
bin Binary files. Important note: Normally binary files should not be committed to a repository. However in some rare occasions it is neccesary
wrk Temporary work area. Used for personal and initial and/or temporary work when a developer is unsure about how to organize the code or if it should be included in the proper source code tree. Usually files will be permanently moved somewhere under some other top level directory when the developer is more sure about the code. Important note: The build system should never use files in this directory!

The following files should exist in the top directory (ie. under trunk).

File Description
readme.txt (mandatory) Readme file (surprise, surprise)
license.txt (mandatory) License file (surprise, surprise)
history.txt (recommended) History file with changes made to each release
todo.txt (optional) Todo file containing future plans and ideas for improvement
credits.txt (recommended) Mention of people who have contributed

Note that the directory layout may differ in release packages!