Source code structure on Subversion

The aim of this page is to give hints on how the code is organized in Subversion. We try to keep this document up-to-date, but if you think it is outdated, please feel free to drop a line on the dev list so that someone tries to refresh it.

Overview of the repository layout

Here is a global overview of how the different components of Squale are stored in the source repository:

http://svn.squale.org/squale/
    |-- archives                                : old code
    |-- poms                                    : various POMs used through the project
    |   |-- tags
    |   `-- trunk
    |       `-- project-root                    : top root POM for the Squale project
    |-- project-resources
    |   |-- integration                         : resources for development and integration
    |   |-- sites
    |   |   |-- tags
    |   |   `-- trunk
    |   |       `-- squale-main-site            : Squale main site at http://www.squale.org
    |   |           |-- squale-developer-site       -> sub-site for developers
    |   |           `-- squale-user-site            -> sub site for users
    |   `-- skins                               : skins used for site generation
    |-- squale
    |   |-- branches
    |   |-- tags
    |   `-- trunk
    |       |-- Jraf                            : Jraf, Squale original core framework
    |       |-- Squale                          : Squale main code
    |       |   |-- squale                            -> simple project containing the root POM 
    |       |   |-- squale-core                       -> core components
    |       |   |-- squale-ear                        -> convenience Ear packaging
    |       |   |-- squale-web                        -> web application
    |       |   `-- squalix                           -> batch analyser and data agregator
    |        `-- Welcom                         : Welcom, Squale original struts-based Web GUI framework
    `-- tools
        |-- branches
        |-- tags
        `-- trunk
            |-- ckjm                            : Ckjm version for Squale
            `-- ...                               ... and other tools used for Squale

Typical layout for Squale components

For each component, we follow Maven's main structure conventions and coding rules, with some differences though:

src/main/java Java sources
src/main/resources Application/Library resources
src/main/webapp Web application sources
src/main/config Configuration files
src/main/sql SQL files
src/test/java Test sources
src/test/resources Test resources
src/assembly Assembly descriptors
src/assembly/resources Test resources
src/filters Resource filter files
src/site Site (containing the site.xml file)
src/site/apt Site content in APT (Almost Plain Text) format
src/site/xdoc Site content in Xdoc (XML based) format
src/site/fml Site content in FML (for FAQs) format
src/site/resources Content directly copied into the site
LICENSE.txt Project's license
README.txt Project's readme