Access Keys:
Skip to content (Access Key - 0)

MuleForge Project Repositories


Every MuleForge project has its own Subversion repository for holding source code, M2 repository for holding Maven artifacts, and an M2 Snapshot repository for holding Maven artifacts related to snapshots.

Build Standard

Maven is the standard build tool for MuleForge. New projects are currently being built using version 2.0.8. However, most MuleForge projects (mainly those created before 2008) are still using version 2.0.7.

Maven 2.0.6 or higher is required for all MuleForge projects.

Source Code Repository

The standard project directory structure for MuleForge adheres to the Maven Standard Directory Layout.

Depicted below is the layout of the directory structure of a newly created MuleForge project. These are found in the Subversion repository of the project.

/trunk
/trunk/pom.xml
/trunk/settings.xml
/trunk/src
/trunk/src/main
/trunk/src/main/java
/trunk/src/main/resources
/trunk/src/test
/trunk/src/test/java
/trunk/src/test/resources
/trunk/dist
/trunk/dist/assembly.xml
/trunk/dist/pom.xml
/trunk/dist/settings.xml

Older projects used to include an examples directory as shown below. The examples directory has always been optional. You may include it if you have examples that enhance your project, otherwise it is unnecessary.

/trunk/examples
/trunk/examples/src
/trunk/examples/src/main
/trunk/examples/src/main/java
/trunk/examples/src/main/resources

The table below gives a description of each file and each important directory.

Directory Required? Description
/trunk Yes By default, the root of each project contains the top-level directory: trunk. It hosts the main line of development.
/trunk/pom.xml Yes Maven POM file. Builds source in /src/main/java and declares dependencies.
/trunk/settings.xml No The repositories for deployment are defined in the <distributionManagement> section of /trunk/pom.xml. However, settings such as username and password are set here. Generally by the despot when doing a project release.
/trunk/src/main/java No, but highly recommended Project Java source. Includes Java artifacts such as Mule Connectors, Receivers, Dispatchers, Components, Transformers, Interceptors, etc. Read the General Code Conventions to learn about the Java coding standards used in the Mule project.
/trunk/src/main/resources No, but highly recommended Project resources used by Java source.  Includes properties, configurations, localization bundles, etc.
/trunk/src/test/java No Test Java sources. For info on how to test Mule, read Functional Test Cases and Mule Test Compatibility Kit
/trunk/src/test/resources Used in conjunction with test sources above Resources used by test sources.
/trunk/dist/ Yes Resources for building the distribution zip or tar file. The distribution contains the built project jar file, example scripts/configurations, and 3rd party library dependencies.
/trunk/dist/pom.xml Yes Builds the distribution zip file and declares dependencies.
/dist/assembly.xml Yes Specifies contents of zip file and 3rd party libraries to be included in zip.
/dist/settings.xml No The repositories for deployment are defined in the <distributionManagement> section of the /trunk/dist/ pom.xml. However, settings such as username and password are set here by the despot when doing a project release.
/trunk/examples No An optional examples directory.
/trunk/examples/src/main/java No Example Java sources.
/trunk/examples/src/main/resources No Resources used by example sources.

All MuleForge projects should follow the Project Repository and Directory Structures specified above.

There should be no third party libraries checked into the project's SVN repository. Dependencies should be declared in the POMs instead.

If you are including an example within /trunk/examples/, then write a POM file: /trunk/examples/pom.xml, to build the Java source of the example project in /trunk/examples/src/main/java.

A 'Branches' directory and a 'Tags' directory may be added to the root of the project as necessary.

Adaptavist Theme Builder (3.3.2-conf2.10) Powered by Atlassian Confluence 2.10, the Enterprise Wiki.
Free theme builder license