Default Directory Layout

When a working context is created, a number of directories are created on your local harddisk. The following default structure is available:

DirectoryExplanation
${user.home}/.karma
${user.home}/karma/.repository This directory acts as the root directory for a local jar repository. The contents of the repository is modelled much like Maven does. Everyone familiar with Maven should know what that means. If you're not familiar with Maven : jar libraries are stored as <groupId>/jars/<artifactId>-<version>.jar. For now, one example will do : log4j-1.2.8.jar is stored in the repository as log4j/jars/log4j-1.2.8.jar and it generally referred to as a dependency on `log4j-1.2.8`.
${user.home}/.karma/working-contexts Each working context has its own configuration directory. They are all stored under this one.
${user.home}/.karma/working-contexts/<working-context> Each working context has its own configuration directory. Right now, the only file that is stored here is working-context.xml, which contains the configuration for the working context.

Depending on the value of the ${project.basedir} property in the working context configuration file, the following directories are also created (in some cases only when they are required).

${project.basedir}/.admin The base directory for administrative data for the working context.
${project.basedir}/.admin/manifest-store Directory where the manifest store is located. A directory will be created (${manifest-store.module}) when the manifest store is checked out by Karma.
${project.basedir}/.admin/location-store Directory where the location store is located. A directory will be created (${location-store.module}) when the location store is checked out by Karma.

Manifest Directory Layout

When a manifest is updated locally (i.e. through the update-all-modules command - see the commands section -), a directory structure is created such as ${project.basedir}/<manifest-name>.

Example : when manifest oracle-10g-dev is updated in working context product-dev, the following directory will be created:

${project.basedir}/oracle-10g-dev
  

All of a manifests' modules are checked out in ${project.basedir}/<manifest-name>/modules.