Directory Layout
This page describes the directory layout in our Subversion repository
Top level
In the top level directory we have the following:
doms.ipr - The IDEA project file
doms.iml - The IDEA virtual project module file
docs/ - A folder for general project documentation - anarchy governs this directory
lib/ - A folder for project libraries (see the [#lib lib/] section below)
bin/ - Scripts for the project
build.xml - Project ant targets
build.properties - Project ant target properties
- One directory per module, named after the module, module names are lower case
For each module we have the following:
blah.iml The IDEA module file, module names are lower case
data/ - An optional folder for data belonging to the module - anarchy reigns
docs/ - A folder for module documentation - anarchy governs this directory
lib/ - A folder for module libraries (see the [#lib lib/] section below)
config/ - Folder with module configuration files
src/ - Module java source
test/ - Unit tests for java source
test/data - Data used by unit tests
bin/ - Scripts for the module
build.xml - Module ant targets
build.properties - Module ant target properties
And not in SVN:
classes/ - Folder for generated class files
classes-test/ - Folder for generated class files for junit test cases
apidocs/ - Folder for generated javadoc
dist/ - Folder with generated Release packages (see the [#dist dist/] section below)
TODO: Where to put generated jar files?
lib/
All jar files must have version numbers (i.e. junit-4.0.1.jar rather than junit.jar)
Subdirectories to lib:
apidocs/ - contains zipfiles with apidocs for libs - e.g. junit-4.0.1-apidocs.zip
src/ - contains zipfiles with sources for libs - e.g. junit-4.0.1-src.zip
license/ - contains licenses for libs - e.g. junit-4.0.1-license.txt or junit-4.0.1-license.html
Each lib must be accompanied by apidocs, src and license. If there are more than one licence-file belonging to a library, the files should be zipped - e.e. junit-4.0.1-license..
Furthermore .jar files compiled by the module should also go in the lib/ directory.
dist/
Contains generated zip-files (from ant target), see [:ModuleReleaseStructure: module release structure] and [:Ant: Ant] guidelines.