Antmod uses a couple of default directories, in which it does its work. This is very intuitive by default, and can be quickly grasped when reading this section. It can also be tweaked in every way you want, which this section shows clearly by identifying the various Antmod configuration parameters related to directories.
| Directory | Description |
|---|---|
${user.home}/projects/ antmod.checkoutdir |
The directory under which Antmod checks out things from CVS or Subversion.
A release descriptor called "mysystem-1.1.0" would be checked out to ${antmod.checkoutdir}/mysystem-1.1.
|
${antmod.checkoutdir}/antmod-releases antmod.descriptor.xml.localdir |
This is where Antmod checks out the XML release descriptor files.
During every "antmod checkout" or "ant update", Antmod will do this automatically. These files are retrieved from the "releases" module in SCM, as configured in the antmod.descriptor.xml.repos.url configuration parameter.
|
${antmod.checkoutdir}/antmod-javalib antmod.javalib.localdir |
This only applies if the antmod.javalib.url configuration parameter is an "scm:" url.
If so, this directory is used by Antmod to 'cache' all java libraries.
Antmod transparently does this CVS or Subversion checkout into this directory, and then copies the needed java libraries into the releases depending on the javalibs required by the XML release descriptor. NOTE: usually it is a better idea to use an "http:" url for antmod.javalib.url, improving performance and removing the need for static binaries to be in SCM. |
${antmod.checkoutdir}/antmod-conf antmod.conf.localdir |
The directory where Antmod checks out optional centralized Antmod configuration.
If "antmod.conf.enabled=true" in the local ".antmodrc" file, Antmod attempts this every hour, and will silently ignore the absence of centralized Antmod configuration. If present, it will override default configuration, minimizing the amount of settings each individual developer has to make in ".antmodrc". Centralized config is retrieved from the "antmod-conf" module in CVS or Subversion, as configured in the antmod.conf.repos.url configuration parameter. |
${user.home}/.antmod antmod.local.dir |
Directory where Antmod stores information local to the build environment,
and not directly needed by Antmod users.
Files stored here are log files (Velocity logfile of the XDoc plugin) and timestamp files (such as the every-5-minute check for the "antmod-conf" module). |
Each release is checked out under the ${antmod.checkoutdir} directory.
Relative to each ${antmod.checkoutdir}/somerelease-x.x.x the following
directories are configured.
| Directory | Description |
|---|---|
javalib antmod.release.dirs.javalib |
Here the javalib files are placed that the XML release descriptor refers to. |
build/dist antmod.release.dirs.dist |
Default output directory of "ant dist" on release level. Should contain all files and directories needed to run the application, not archived. |
build/package antmod.release.dirs.package |
Default output directory of "ant package" on release level. Should contain the ZIP or tarball files containing the file from the dist directory needed for releasing to another machine or environment. Advise: try to keep it simple and have "ant package" package the whole dist directory as-is. |
Each module is checked out under the release directory.
Relative to each somerelease-x.x.x/somemodule module directory,
the following directories are configured.
| Directory | Description |
|---|---|
src antmod.module.dirs.src |
Top level directory for source files. |
src/java antmod.module.dirs.src.java |
Java source file directory. |
src/jsp antmod.module.dirs.src.jsp |
JSP files (excluding descriptors!) |
src/meta-inf antmod.module.dirs.src.meta-inf |
Files for inclusion in META-INF/ of module's JAR file |
src/webapp/web-inf antmod.module.dirs.src.webapp.web-inf |
Only useful when module has type main within a release.
Contains files such as web.xml for inclusion in WEB-INF/ of a web application.
Should never contain javalibs, as those come from the release's javalibs!
|
src/webapp/meta-inf antmod.module.dirs.src.webapp.meta-inf |
Only useful when module has type main within a release.
Files for inclusion in META-INF/ of a WAR file.
|
resources antmod.module.dirs.resources |
Top-level directory for resource subdirectories that are not source files. |
resources/conf antmod.module.dirs.resources.conf |
Any configuration file that is needed by the application, usually in the classpath of the distributed application.
In case of a WAR file, these files are usually placed in the WEB-INF/classes directory of the WAR.
In other cases, "ant dist" on release level may put them somehwere else in the distribution.
|