Apache Harmony is retired at the Apache Software Foundation since Nov 16, 2011.

The information on these pages may be out of date, or may refer to resources that have moved or have been made read-only.
For more information please refer to the Apache Attic

Good Issue Resolution Guideline

This guideline provides step-by-step instructions on reporting, resolving and closing issues. If you cannot do one of the steps, then write a comment to the issue.

Reporting Issues

  1. State the expected behavior and the actual behavior of Harmony code explicitly. Use links to specifications, references, etc.
  2. Create a test case as small as possible. A patch to test is highly appreciated.
  3. Provide maximum information about steps necessary to reproduce the bug. If a patch for the test has not been supplied, provide as much diagnostic information about the failure as possible: stack trace, failure output, expected output, etc.
  4. Use issue links if applicable.
  5. Check the issue resolution, when it is committed. Add a comment.

Resolving Issues

To resolve an issue, define its type first.

If the issue is a non-bug difference, not a bug or invalid, you should do the following:
  1. Discuss the issue on the developer mailing list.
  2. Add a link to the discussion thread as a comment to the issue.
If the issue is a bug, you should do the following:
  1. Notify the community that you started investigation by adding a comment to the issue and send a message to the developer mailing list. If you cannot create a patch, add another comment with your investigation results.
  2. If reporter did not provide a patch to test:
    • Try to create a patch to test.
    • If you cannot create a patch, write a comment about it.
  3. Create a patch to fix the issue. If you have any questions, discuss them on the developer mailing list. Add a link to the discussion as a comment.
  4. All patches, such as tests and fixes, should be relative to the directory where the main build.xml is:
    http://svn.apache.org/repos/asf/harmony/enhanced/java/trunk/classlib,
    or to the module root directory.
  5. Test and fix patches should be in different files.
  6. If the patch requires adding, removing or moving some files in the repository, provide the appropriate script.
  7. Check that all unit tests pass.
  8. If the issue is application-oriented, check the application.
  9. Use issue links if applicable.

Closing Issues

To close an issue, define its type first.

If the issue is a non-bug difference, not a bug or invalid, you should do the following:
Close the issue.
If the issue is a bug, you should do the following:
  1. If a patch to test is available, apply it.
  2. Check that the test fails.
  3. Apply the fix for the issue.
  4. Check that test succeeds now.
  5. Make sure that all unit tests pass.
  6. For application-oriented issues, check the application.
  7. If there are any problems on previous steps, post a comment to JIRA and let "resolution provider" resolve them.
  8. Make sure that the issue reporter is happy with the resolution.
  9. Add revision info into the JIRA issue.

Back to top