CVS Project Layout

This document describes the directory layout for the EJTools project.

Overview

The directory structure after a clean checkout from CVS should be the following :

/cvsroot/ejtools
applications
libraries
plugins
thirdparty
xdocs
maven.xml
project.properties
project.xml

Here is the description of each item :

  • applications contains the applications projects
  • libraries contains the lirabries projects used by the applications projects
  • plugins contains the custom Maven plugins used by the build system
  • thirdparty contains the dependencies jars that are not found in the Maven repository . This directory follows the required structure (see here for details).
  • xdocs contains the main website in Apache xdocs format
  • maven.xml is the Maven build script
  • project.properties is the Maven overall project properties
  • project.xml is the Maven project descriptor

Application

Here is the general directory structure for a typical application :

applications
jmx.browser
src
bin
conf
main
org
ejtools
...
mbean
content
resources
resources
webapp
content
merge
resources
xdocs
images
index.xml
...
maven.xml
project.properties
project.xml

Here is the description of each item :

  • src contains the source files
  • src/bin contains the executable shell to launch the application
  • src/conf contains the configuration files needed by the application
  • src/main contains the Java source files
  • src/mbean contains the Service Archive content and resources (*)
  • src/mbean/content contains the Service Archive content files (JSP, images, etc) (*)
  • src/mbean/resources contains the Service Archive resources files (*)
  • src/resources contains the resources sources files (images, logo, etc)
  • src/webapp contains the Web Archive related files (**)
  • src/webapp/content contains the Web Archive content files (JSP, images, etc) (**)
  • src/webapp/merge contains the Web Archive merge files used by the build system (**)
  • src/webapp/resources contains the Web Archive resources files (TLD, XML config, etc) (**)
  • xdocs contains the application website in Apache xdocs format
  • maven.xml is the Maven build script
  • project.properties is the Maven project specific properties
  • project.xml is the Maven project descriptor

(*) this directory is needed when an application provides a Service Archive.

(**) this directory is needed when an application provides a Web Archive.

Library

Here is the general directory structure for a typical library :

libraries
common
src
main
org
ejtools
...
test
xdocs
images
index.xml
...
maven.xml
project.properties
project.xml

Here is the description of each item :

  • src contains the source files
  • src/main contains the Java source files
  • src/test contains the Java source files for Unit Tests
  • xdocs contains the application website in Apache xdocs format
  • maven.xml is the Maven build script
  • project.properties is the Maven project specific properties
  • project.xml is the Maven project descriptor

Plugin

Here is the general directory structure for a typical plugin :

plugins
maven-ejtools-plugin
plugin-resources
plugin.jelly
plugin.properties
project.properties
project.xml

Here is the description of each item :

  • plugin-resources contains the resources files used by the plugin
  • plugin.jelly is the Plugin script (Tags and Goals)
  • plugin.properties is the Plugin specific properties
  • project.properties is the Maven project specific properties
  • project.xml is the Maven project descriptor