Access Keys:
Skip to content (Access Key - 0)
community header community tab mule tab galaxy tab muleforge tab

Getting Started

Table of Contents

Click here to expand...

This page provides a quick start to working with projects on MuleForge.

Viewing Projects Currently Hosted on MuleForge

To view the active projects on MuleForge, click Projects from the top navigation bar. Active projects are divided into categories: Transports, Modules, Tools, and Docs/Examples. The list includes projects that currently have no owner, as well as projects that are currently being developed by an owner and possibly a team of developers.

Next to each project is its maturity level. You can download projects in their beta or production stage by clicking on the corresponding maturity level link, namely '4 - Beta' and '5 - Production', respectively.

Finding a Specific Project

  • Click Search from the top navigation bar.
  • Enter the name of the project. Wildcards such as * are accepted.
  • Optionally, set the Project Maturity, Category, Status, and/or Mule Version. The default value of these fields is set to 'Any'.
  • Click Search.

When you find the project you want, you can click its Homepage button to view its home page.

Downloading a MuleForge Project

You can download MuleForge projects in beta or production stage by searching for a project and clicking Download OR by clicking Projects from the top navigation bar and clicking the Maturity Level link ('4 - Beta' or '5 - Production') of the project you want to download. For more information on project maturity, see Project Maturity Levels

Creating a MuleForge Account

To become a project owner (also called a despot) or a contributing developer on a project, you must create an account on MuleForge. Accounts are free and only take a few moments to create.

To create a new user account on MuleForge:

  1. Click Signup.
  2. Enter your information. All fields are required.

This signup process will create four accounts for you:

  • MuleForge: for committing code
  • Confluence: for writing documentation for a project
  • JIRA: for tracking issues related to a project
  • Jive: for posting messages on a project's forum

Your MuleForge user name is also used for your Jive account. For easiest management, we recommend you create the same user name for MuleForge, Confluence, and JIRA. A single sign-on for all the applications used by MuleForge will be provided in a future release of MuleForge, but currently you must log in separately to each account.

After registering, you will receive an email with a URL for activating your MuleForge account. After verifying the email address, the other accounts will be set up shortly thereafter.

Logging Into Your MuleForge Account

If you have an existing account on MuleForge, do the following:

  1. Click 'ADMIN' from the top navigation bar.
  2. Click 'Login' at the top righthand side of the page.
  3. Enter your username and password.

Proposing a New Project

If you have an idea for a Mule extension, you can fill out an online form for proposing a new MuleForge project by clicking 'CONTRIBUTE' from the top navigation bar OR by clicking 'Contribute a Project' from the MuleForge home page.

Owning a Project

Registered users can become project owners. If you would like to own a proposed project that currently has no owner, take the following steps:

  1. View the list of projects by clicking Projects from top navigation bar.
  2. Click Own Me next to the project you want to own.

Contributing to a Project

Registered users can become contributing developers on existing projects, which allows you to commit code and documentation to the project. If you would like to become a developer on a project, take the following steps:

  1. View the list of projects by clicking Projects from top navigation bar, and then click the project's Homepage button.
  2. Under Project Resources, click Project Members. This takes you to the MuleForge Admin.
  3. Under Membership, click the last link Apply to join as a developer.

The project despot will then review your request and should contact you via email.

Setting Up Maven

MuleForge uses Apache Maven for working with project source code. If you do not have the latest Apache Maven installed, you can download it here. You must then set up your Maven environment.

Using an IDE

You can use an IDE like Eclipse or IntelliJ IDEA to make development easier. You use Maven to generate the project files for your IDE.

Eclipse

Set up Eclipse by following the instructions here, and then generate your project files using the following command:


mvn eclipse:eclipse 

Eclipse users should also consider using the Mule IDE, which works with Eclipse to make Mule project development even easier and faster.

IntelliJ

Set up IntelliJ by following the instructions here, and then generate your project files using the following command:


mvn idea:idea 

Checking Out the Source Code

After setting up Maven, check out the source code repository for your project from:


svn co http://svn.muleforge.org/${artifactId}/

For example, if you are working on the foo transport project, you would enter:


svn co http://svn.muleforge.org/mule-transport-foo/

Creating Your Project Code

You can create new project code using one of the Mule project wizards (Maven archetypes) to create template code including test cases. Depending on the type of project you want to create, you can run one of the following mvn commands from the project root directory.

Transport:


mvn mule-transport-archetype:create -DmuleVersion=2.1.2 
-DprojectProperites=muleforge-project.properties 

Module:


mvn mule-module-achetype:create -DmuleVersion=2.1.2 
-DprojectProperites=muleforge-project.properties 

Example:


mvn mule-example-archetype:create -DmuleVersion=2.1.2 
-DprojectProperites=muleforge-project.properties 

Migrating Existing Code

If you have an existing project, ensure that the existing project follows the Maven recommended project structure as described here. Additionally, if your project is already set up with Maven, we still recommend that the project pom.xml file used is the one defined by the Mule project wizards. The recommended approach is as follows:

  1. Copy the files over to the project root.
  2. Rename your existing pom.xml file to pom.backup.
  3. Run one of the project wizards above (depending on the type of project).
  4. When asked "Are you migrating an existing Maven project to MuleForge", select [y].
  5. When asked to create an assembly file and pom file, select [y].
  6. When the wizard finishes, copy any non-Mule dependencies from pom.backup to pom.xml.
  7. Add entries to the assembly file for non-Mule dependencies.

The version of your project is stored at the top of the project pom.xml file. While in development, the project version should be x.y-SNAPSHOT where x is the major and y the minor version number. It is good practice on MuleForge to set the project version to the version of Mule you are using. If you are using Mule 2.1.2, your project version should be 2.1.2-SNAPSHOT.

Working with the Project Code

If you generated your project code from one of the Mule project wizards, there are TODO tasks in every file that guide you through what can or should be done. Additionally, test cases were generated with the source code. Test cases are important, because your project will eventually be ranked on test code coverage and successful builds. Every time you check in a change, the MuleForge build server will kick off a build, you should always ensure your build runs green. The build server plan can be found at http://bamboo.muleforge.org/browse/.

Checking In Your Code

To check in your code, use the Subversion command as follows:


svn ci -m "Initial checkin" 

Performing a Release

When you are ready to create a release of your project, you must follow a few simple steps as described here.

Creating a New Version

After you have performed a release, your code base will be tagged for that release. You can then start creating your new version of the code in /trunk.

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