| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> |
| <meta name="author" content="david.kaspar@sun.com"> |
| <link rel="stylesheet" href="https://netbeans.org/netbeans.css" type="text/css"> |
| <title>netbeans.org : NetBeans Visual Library 2.0 - Change Integration Process</title> |
| <style type="text/css"><!-- |
| pre { |
| border: 1px solid black; |
| padding: 10px; |
| background-color: #FFD; |
| } |
| table.framed { |
| border: 2px solid black; |
| border-collapse: collapse; |
| border-spacing: 1px solid black; |
| } |
| table.framed th { |
| background-color: #FFD; |
| padding: 5px; |
| border: 2px solid black; |
| vertical-align: top; |
| } |
| table.framed td { |
| padding: 5px; |
| border: 1px solid black; |
| vertical-align: top; |
| } |
| code { |
| background-color: #FFD; |
| border: 1px solid #DD0; |
| } |
| --></style> |
| </head> |
| |
| <body> |
| |
| <h1>Visual Library 2.0 - Change Integration Process</h1> |
| |
| <a name="Index"> |
| <h2>Index</h2> |
| |
| <ul> |
| <li><a href="#Index">Index</a> |
| <li><a href="#Abstract">Abstract</a> |
| <li><a href="#ChangeIntegrationProcess">Change Integration Process</a> |
| <li><a href="#RelatedLinks">Related Links</a> |
| </ul> |
| |
| <a name="Abstract"> |
| <h2>Abstract</h2> |
| |
| Since NetBeans 6.0 the library become stable. Therefore integration of new features or changes |
| that may affect functionality, behaviour or API has to be described and approved be API review committee. |
| This document described a process of a change integration. |
| |
| <a name="ChangeIntegrationProcess"> |
| <h2>Change Integration Process</h2> |
| |
| <p> |
| 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. |
| <ol> |
| <li>Enter an issue for the change and describe it together with your solution. |
| <li>Create a patch for the change. The patch has to include: |
| <ol> |
| <li>The changed code including all new files. |
| <li>Proper javadoc. Use the "since" tag in javadoc for each new/changed method/class. |
| <li>Change has to be documented in <code>graph/lib/src/org/netbeans/api/visual/widget/doc-files/documentation.html</code> file. |
| <li>Have an automated test in <code>graph/lib/test/unit/src</code> directory. Use <code>framework.VisualTestCase</code> class for visual tests. |
| <li>Have an example in <code>graph/examples/src</code> directory. The example should show how to use the feature or how it is working. |
| The example has to be referenced in <code>graph/examples/src/org/netbeans/modules/visual/examples/RunDialog.java</code> class (enable the example in examples RunDialog). |
| The example has to be documented in <code>graph/www/documentation.html</code> file. |
| <li>Increased specification-version in <code>graph/lib/manifest.mf</code> file. Increase it only once a day when you are doing a patch/commit of an API or a behavior. |
| <li>Described the change in <code>graph/lib/api-changes.xml</code> file. |
| </ol> |
| <li>Attach the patch to the issue, add "API_REVIEW" or "API_REVIEW_FAST" keyword to the issue and reassigned the issue to the <code>apireviews@netbeans.org</code>. |
| <li>Wait for 2 days. During that time they may change the status from "API_REVIEW_FAST" to "API_REVIEW". |
| <li>Wait for 7 days. During that time people can have comments or requests. Discuss and implement them and attach a new patch. |
| <li>Reassign the issue back to the module owner. |
| <li>Take the patch and apply it to your clean version of graph module from CVS. |
| <li>Check whether the spec. version in manifest.mf is correct (i.e. correctly increated). |
| <li>Update date, spec.version in api-changes.xml file. |
| <li>Update all newly added "since" tags in javadocs. |
| <li>Check whether all files (including new ones) are included/add into the CVS. |
| <li>Compile the NetBeans IDE and run <code>ant test</code> in <code>graph/lib</code> module to start automated tests. |
| <li>Commit the patch and set the issue as Resolved Fixed (still keep the "keyword" filled). |
| </ol> |
| |
| <p> |
| 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. |
| |
| <a name="RelatedLinks"> |
| <h2>Related Links</h2> |
| |
| <ul> |
| <li><a href="http://openide.netbeans.org/tutorial/review-steps.html">API review process step-by-step</a> |
| <li><a href="http://bits.netbeans.org/dev/javadoc/index.html">NB API Javadoc</a> |
| <li><a href="http://openide.netbeans.org/tutorial/reviews/">API review home page</a> |
| <li><a href="http://openide.netbeans.org/tutorial/api-design.html">how to design API</a> |
| <li><a href="http://openide.netbeans.org/tutorial/api.html">API development</a> |
| </ul> |
| |
| <hr> |
| If you have any comments, suggestions, or missing feature or documentation, please, send an email to <a href="mailto:users@graph.netbeans.org">users@graph.netbeans.org</a>. |
| |
| </body> |
| </html> |