Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Then we can add your issue to Subversion and then we'll know when its really fixed and we can ensure that the problem stays fixed in future releases.

Working on the code

We recommend to work on the code from github

Code Block
git clone https://github.com/apache/camel.git
cd camel

Build the project (without testing).

Code Block
mvn clean install -Dtest=false

If you intend to work on the code and provide patches and other work you want to submit to the Apache Camel project, then you can fork the project on github and work on your own fork. The custom work you do should be done on branches you create, which can then be committed and pushed upstream, and then submitted to Apache Camel as PRs (pull requests). You can find many resources online how to work on github projects and how to submit work to these projects.

Apache Camel committers should work on the ASF git repo

If you are an Apache Camel committer then clone the ASF git repo atGrab the Source and create a project in your IDE. e.g. if you are using Eclipse the following should do the trick...

Code Block
git clone https://git-wip-us.apache.org/repos/asf/camel.git
cd camel
mvn eclipse:eclipse

Build the project (without testing).

...

Then import the projects into your workspace.

Creating patches

Tip

We recommend you create patches as github PRs which is much easier for us to accept and work with. You do this as any other github project, where you can fork the project, and create a branch where you work on the code, and then commit and push that code to your fork. Then navigate to the Apache Camel github webpage, and you will see that github in the top of the page has a wizard to send your recent work as a PR (pull request).

Pull request at Github

There is also a Git repository at Github which you could fork. Then you submit patches as any other github project - eg work on a new feature branch and send a pull request. One of the committers then needs to accept your pull request to bring the code  to the ASF codebase. After the code has been included into the ASF codebase, you need to close the pull request because we can't do that...

 

Info

When providing code patches then please include the Camel JIRA ticket number in the commit messages. We favor using the syntax:

CAMEL-9999: Some message goes here

 

Manual patch files

We gladly accept patches if you can find ways to improve, tune or fix Camel in some way.

Tip

We recommend using github PRs instead of manual patch files. Especially for bigger patches.

Most IDEs can create nice patches now very easily. e.g. in Eclipse just right click on a file/directory and select Team -> Create Patch. Then just save the patch as a file and then submit it. (You may have to click on Team -> Share... first to enable the Subversion options).

...

  • create a new JIRA issue (you will need to register),
  • attach the patch or tarball as an attachment (if you create a patch file, but we recommend using github PRs)
  • tick the Patch Attached button on the issue

We prefer patches has unit tests as well and that these unit tests have proper assertions as well, so remember to replace your system.out or logging with an assertion instead!

Working with Git

There are several ways how Git users could improve Camel with their prefered tool:

  • Apache Git Mirror
  • Pull request at Github

Apache Git Mirror

Cloning the Apache git repo.

Code Block
git clone https://git-wip-us.apache.org/repos/asf/camel.git

Bringing your modifications back to Apache is the same workflow as described before.

Pull request at Github

There is also a Git repository at Github which you could fork. Then you submit patches as any other github project - eg work on a new feature branch and send a pull request. One of the committers then needs to accept your pull request to bring the code  to the ASF codebase. After the code has been included into the ASF codebase, you need to close the pull request because we can't do that...

More resources

Git is not a brand new technology and therefore Camel is not the only ASF project thinking about using it. So here are some more resources you mind find useful:

...