If you have extended Jikes RVM and would like to contribute your extension back to the community, please use the patch tracker to submit a patch. When submitting a patch, please your contribution. Please include the following:
- The patch file for your contributionYour contribution in the form of patches or bundles (see below)
- The appropriate Statement of Origin
- A description of the functionality you are contributing
- The version of Jikes RVM used to create your patch
Please do the following before submitting your code contribution:
- Check that your patch contribution follows our coding style. One part of that is to make sure that there are no checkstyle failures when your patch is changes are applied. You can run "ant checkstyle" to check for errors.
- After verifying that there are no checkstyle errors, run the pre-commit tests on your machine.
- After the pre-commit run is done, you can find the report at results/tests/pre-commit/Report.html. It should read something like "Total Success Rate: 128/128" (numbers from August 2012). The report will also display the revision number, if applicable. If the revision number ends with a +, you have uncommited changes in your working copy. Check that the uncommited changes are not supposed to be in your patch.
The Jikes RVM team will check for those points. You will make it easier to merge your contribution if you ensure that there are no problems in that regard.
Patches should apply against a revision of the main repository. This ensures that your patch can always be applied easily. You can use
hg export to create patch files from your commits.
If you contribute your changes in the form of mercurial bundles, you must make sure that the parent changeset of your first changeset is in the main repository. If it is not,
hg unbundle will fail and your bundles cannot be imported.
Statement of origin
All contributions must include one of the Statements of Origin below. Insert your name(s) in the first blank(s) and a high-level summary in the blank in a (i) . Examples of a high-level summary are "Fixed bug in scheduler", "Extended type propagation in optimizing compiler", or "Added new garbage collector".