This guide adopted from Mylar Contributor Reference
Tips
- Use JIRA for all of your communication. This helps committers track the contribution.
- Before setting out to fix a bug or implement enhancement, post on the bug report describing your intention. This helps committers guide the contribution and avoids problems with patches going stale due to related work being done concurrently.
- Before starting work on somewhat large contributions, it is good to outline design on the wiki and/or discuss in the dev mailing list.
Testing
- to manually test your change, open org.maven.ide.eclipse/plugin.xml file, click Testing / Launch an Eclipse application, then open Java perspective.
- to automate a test, checkout org.maven.ide.eclipse.tests module into Eclipse workspace and update JUnit tests in src/ directory
Creating
- Each patch should correspond to a single bug report, and a single patch should be made for each set of changes to be reviewed.
- Minimize the amount of changes to existing code to make review easier.
- Synchronize often to ensure you have the latest code. Once you start modifying resources, put the Synchronize view in Outgoing mode to see your change.
- Add an @author tag to each class that you create or make significant modification to, placed below any existing author tags and indicating the bug, e.g.: @author Scott Cytacki (MNGECLIPSE-59)
- Ensure that there is no console output. Logging from the background operations should go into Maven console that can be obtained using Maven2Plugin.getConsole(). For logging critical errors use Maven2Plugin.log() methods.
Submitting
- Ensure there are no build errors.
- Do not include binary files such as GIF icons in the patch, they need to be attached separately.
- Synchronize using Incoming mode and ensure that there are no conflicts, and merge them locally if there are.
- Right click on the project containing the changes (patches should be made for a project, not a file), press Team -> Create Patch, and make the file suffix ".txt" or ".patch".
- Attach the patch to the bug report, and indicate in the comment what testing was done to validate it (e.g. unit test, manual tests performed).
- Indicate any changes made to the existing UI in the comment (e.g. reordering of menu actions).