Apache Maven 1.x has reached its end of life, and is no longer supported. For more information, see the announcement. Users are encouraged to migrate to the current version of Apache Maven.

How to Submit a Patch

When you fix a bug in the Maven source code, you will submit a patch to the issue tracking system for developers to apply.

First, if this is a new issue of your own that is being fixed, ensure that the issue is actually in the issue tracking system. Look for an existing one, and if it is not found, create a new one.

Ensure that you have done a full update from source control recently, and have tested your changes. If it is a new feature or changes the bevahiour of something, make sure to update the relevant documentation. You may even like to add a changes.xml item describing your change, the issue, and who you are in the due-to="Your Name" attribute.

You should use the Maven code style for your contributions, and be careful to limit changes only to the relevant areas of the submission.

Make sure any new files you've created that you want to add have had svn add run on them first.

Prepare the patch by going to the top level of the checkout (the trunk), and running:

svn diff >ISSUE-NUMBER.patch

Replace ISSUE-NUMBER in the filename with the actual ticket number in the issue tracking system. Finally, attach the file to the issue tracking system as an attachment.


Here is a quick checklist for submitting patches. By complying to these points, you make it easier for committers to review your patch and therefore you increase the chances that it gets applied quickly.

Update the documentation. This is especially important for new features and behavioural changes. For bug fixes you should at least put an entry into the xdocs/changes.xml file.
Include test cases. Committers don't always have the resources to check whether your patch actually works. Test cases are helpful by showing what your patch is actually supposed to do.
Comply with the Maven code style and other conventions.
Make sure your patch doesn't break anything in other parts of Maven. Ideally you would run a complete bootstrap to check that no test cases are broken.
Review the licenses. For any files that you add, make sure that you are actually allowed to do so and document it. By submitting a patch to Maven, you implicitly agree to put it under the ASL2 license.
Stay informed
Follow the status of your issue. If you do not regularly read the mailing lists, it is important that you 'watch' the JIRA issue where you attached your patch (there is a 'Watch it' link on the left-side menu). Like that you will be notified of any changes or updates regarding the issue and committers can contact you if they have any questions.