Change Integration Process
Let assume that you have a feature or a change that may affect functionality, behaviour or API. Then you have to follow next steps before the source code may be integrated to the CVS.
- Enter an issue for the change and describe it together with your solution.
- Create a patch for the change. The patch has to include:
- The changed code including all new files.
- Proper javadoc. Use the "since" tag in javadoc for each new/changed method/class.
- Change has to be documented in
graph/lib/src/org/netbeans/api/visual/widget/doc-files/documentation.html file.
- Have an automated test in
graph/lib/test/unit/src directory. Use framework.VisualTestCase class for visual tests.
- Have an example in
graph/examples/src directory. The example should show how to use the feature or how it is working.
The example has to be referenced in graph/examples/src/org/netbeans/modules/visual/examples/RunDialog.java class (enable the example in examples RunDialog).
The example has to be documented in graph/www/documentation.html file.
- Increased specification-version in
graph/lib/manifest.mf file. Increase it only once a day when you are doing a patch/commit of an API or a behavior.
- Described the change in
graph/lib/api-changes.xml file.
- Attach the patch to the issue, add "API_REVIEW" or "API_REVIEW_FAST" keyword to the issue and reassigned the issue to the
apireviews@netbeans.org.
- Wait for 2 days. During that time they may change the status from "API_REVIEW_FAST" to "API_REVIEW".
- Wait for 7 days. During that time people can have comments or requests. Discuss and implement them and attach a new patch.
- Reassign the issue back to the module owner.
- Take the patch and apply it to your clean version of graph module from CVS.
- Check whether the spec. version in manifest.mf is correct (i.e. correctly increated).
- Update date, spec.version in api-changes.xml file.
- Update all newly added "since" tags in javadocs.
- Check whether all files (including new ones) are included/add into the CVS.
- Compile the NetBeans IDE and run
ant test in graph/lib module to start automated tests.
- Commit the patch and set the issue as Resolved Fixed (still keep the "keyword" filled).
Yes, the process is so big and exhausting but it is necessary since the library is considered stable and therefore has to be 100% backward compatible.
Related Links
If you have any comments, suggestions, or missing feature or documentation, please, send an email to users@graph.netbeans.org.