Differences between revisions 10 and 11
Revision 10 as of 2009-08-24 13:31:55
Size: 4568
Editor: jrg
Comment:
Revision 11 as of 2009-08-24 13:42:43
Size: 4471
Editor: jrg
Comment:
Deletions are marked like this. Additions are marked like this.
Line 75: Line 75:
Furthermore {{{.jar}}} files compiled by the module should also go in the {{{lib/}}} directory.

Directory Layout

This page describes the directory layout in each of the Subversion trunks (separate IDEA projects) that are part of the Subversion repository of the Sourceforge DOMS project.

Top level

The top level directory has the following:

  • <IDEAprojectname>.ipr - The IDEA project file

  • <IDEAprojectname>.iml - The IDEA virtual project module file

  • LICENSE - A text file containing the Apache License version 2.0

  • NOTICE - A text file containing attribution notices (see Apache 2.0 License)

  • README - A text file giving an overview of this IDEA project, including this directory explanation, as well as info on how the project is used and further developed by contributers.

  • qascan.xml - Configuration file for automated code QA checking

  • build.xml - Project ant targets

  • build.properties - Project ant target properties

  • build-includes.xml - Generally useful ant code. This should be the same for every sourceforge package.

  • build-rest-webservices.xml - Optional - webservice-related ant code. This should be the same for every sourceforge package.

  • build-soap-webservices.xml - Optional - webservice-related ant code. This should be the same for every sourceforge package.

  • 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

  • modules/ - A folder containing any number of modules and/or module groups

And not in SVN:

  • <IDEAprojectname>.iws - IDEA workspace configuration file

Module groups

A module group is a directory with name <modulegroupname> in lower case, containing the following:

  • <modulegroupname>.iml - The IDEA module group file.

  • A number of directories, each a module or module group.

Modules

Each module, with name <modulename>, is contained in a directory named after the module - module names are in lower case. This directory contains the following:

  • <modulename>.iml - The IDEA module file, module names are lower case

  • data/ - Optional - a 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

  • web/ - Contains a WEB-INF directory and potentially jsp- and html-files for the module

  • build.xml - Module ant targets

  • build.properties - Optional - module ant target properties

  • build-rest-webservices.xml - Optional - webservice-related ant code. This should be the same for every sourceforge package.

  • build-soap-webservices.xml - Optional - webservice-related ant code. This should be the same for every sourceforge package.

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)

Anchor(lib)

lib/

Contains a directory for each library-package we use, with directory name of the style <libraryname>-<version>, for example fedora-client-3.2.1. Each of these directories contain the following subdirectories:

  • jars/ - contains all jar-files in the package

  • apidocs/ - contains zipfiles with apidocs for the package itself, as well as potentially docs for the libraries the package depends on.

  • src/ - contains zipfiles with sources for the package itself, as well as potentially sources for the libraries the package depends on.

  • license/ - contains all license-information contained in the package

Each lib must be accompanied by license, and preferably includes apidocs and src for the package itself.

Anchor(dist)

dist/

Contains generated zip-files (from ant target), see [:ModuleReleaseStructure: module release structure] and [:Ant: Ant] guidelines.

Directory layout (last edited 2010-10-27 11:50:12 by abr)