platform-ui-home/contributing/checklist.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (view) (download) (as text)

1 : mvanmeek 1.1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 :     <html>
3 :     <head>
4 :     <title>UI Component Development Resources</title>
5 :     <meta http-equiv="Content-Type"
6 :     content="text/html; charset=iso-8859-1">
7 :     <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
8 :     type="text/css">
9 :     </head>
10 :     <body bgcolor="#ffffff" text="#000000">
11 :     <p></p>
12 :     <table border="0" cellpadding="2" cellspacing="5" width="100%">
13 :     <tbody>
14 :     <tr>
15 :     <td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font
16 :     color="#ffffff" face="Arial,Helvetica"> Platform UI Component Contributors Check
17 :     List </font></b></td>
18 :     </tr>
19 :     <tr>
20 :     <td align="right" valign="top" width="2%"><img
21 :     src="http://dev.eclipse.org/images/Adarrow.gif" alt="List title arrow"
22 :     border="0" height="16" width="16"></td>
23 :     <td width="98%"><p><b>Plug-in Check list</b> </p>
24 :     <p>Contributing new function in a plug-in often occurs when features built
25 :     in other products tend to reveal solid generic capabilities that all
26 :     UI developers might want to use. In this case the process followed generally
27 :     involves the following steps:</p>
28 :     <ol>
29 :     <li>Existing plug-in is seen as a useful feature at the level of the
30 :     Platform UI
31 :     <ol>
32 :     <li>Ideally the plug-in proves itself by being shipped in 1 or more
33 :     releases of prefereably multiple products</li>
34 :     <li>Ideally requests from the community are being sent to Platform
35 :     UI asking for this feature</li>
36 :     <li>Always good to have at least two (2) scenarios ready that will
37 :     be clients of this feature in to help solidify the robustness
38 :     of the new API</li>
39 :     </ol>
40 :     </li>
41 :     <li>Contact is made with Platform UI requesting the feature be moved
42 :     down</li>
43 :     <li>Discussion over the feature ensues.
44 :     <ol>
45 :     <li>If agreed upon, then committment is discussed.
46 :     <ol>
47 :     <li>contributing team needs to provide 2 or more names of developers
48 :     who will maintain the code
49 :     <ol>
50 :     <li>NOTE: this means the exisiting Platform UI team generally
51 :     will not absorb code in this case, you must continue to
52 :     maintain it</li>
53 :     </ol>
54 :     </li>
55 :     <li>without this committment the code does not go in</li>
56 :     </ol>
57 :     </li>
58 :     </ol>
59 :     </li>
60 :     <li>Code reviews occur</li>
61 :     <li>JUnit Tests must be provided that verify the new feature</li>
62 :     <li>Once the tests and code are ready the projects are requested to
63 :     be created along with user privilidges</li>
64 :     <li>Then the code is committed and made part of the builds </li>
65 :     </ol></td>
66 :     </tr>
67 :     <tr>
68 :     <td align="right" valign="top" width="2%"><img
69 :     src="http://dev.eclipse.org/images/Adarrow.gif" alt="List title arrow"
70 :     border="0" height="16" width="16"></td>
71 :     <td width="98%"> <b>Code Check list</b> <ul>
72 : bbokowski 1.3 <li>Follow the Eclipse Platform's <a href="http://dev.eclipse.org/conventions.html">Standards, Conventions and Guidelines</a></li>
73 : mvanmeek 1.1 <li>UI will need you to use project-specific settings for compiler warnings/errors,
74 :     code formatting etc. that are copied from the other UI plug-ins' settings</li>
75 :     <li>use &quot;organize imports&quot; (Ctrl-Shift-O) to clean up the
76 :     imports (we do not use org.eclipse.* type notation)</li>
77 :     <li> don't put CVS headers in the files (with revision information etc.)</li>
78 :     <li> the copyright header goes before the package declaration, starting
79 :     in the very first line.
80 :     <ul>
81 :     <li>It may be necessary to agree on a copyright depending on who
82 :     is contributing the code</li>
83 :     </ul>
84 :     </li>
85 :     <li>commit comments are required for all code commits, bugs should be
86 :     logged to track work and the bug number and a description is then
87 :     used in the commit comment to describe the chagne. For example when
88 :     fixing a bug, use &quot;Fixed bug xxx: &lt;title of bug&gt;&quot;.
89 :     Otherwise, describe what you did with a short sentence, this will
90 :     help us track the changes</li>
91 :     <li> before committing changes, catch up to all changes made by others,
92 :     and then run the tests</li>
93 :     <li> don't commit your changes if this will cause compile errors for
94 :     others</li>
95 :     <li> it is considered good practice to write code that does not have
96 :     warnings. If possible, fix warnings existing whenever you see them,
97 :     they can crop up due to compiler changes occassionally</li>
98 :     <li> non-externalized strings are considered errors, do not ship non-externalized
99 :     strings</li>
100 : bbokowski 1.3 <li>write/update Javadoc for all API you introduce/change. See <a href="http://www.eclipse.org/eclipse/development/java-api-evolution.html">Evolving Java-based APIs</a> by Jim des Rivi&egrave;res to understand what it means to maintain an API</li>
101 : mvanmeek 1.1 </ul></td>
102 :     </tr>
103 :     <tr>
104 :     <td align="right" valign="top"><img
105 :     src="http://dev.eclipse.org/images/Adarrow.gif" alt="List title arrow"
106 :     border="0" height="16" width="16"></td>
107 :     <td width="98%"> <p><strong>Bugs</strong></p>
108 :     <p>New bugs related to this feature will be sent to you as owner. Please
109 :     try and review all new bugs and respond as quickly as possible. We realize
110 :     that you might have some other full time job to worry about, but we
111 :     do expect some level of responsiveness. </p></td>
112 :     </tr>
113 :     <tr>
114 :     <td align="right" valign="top" width="2%"><img
115 :     src="http://dev.eclipse.org/images/Adarrow.gif" alt="List title arrow"
116 :     border="0" height="16" width="16"></td>
117 :     <td width="98%"> <p><b>Build Check List</b></p>
118 :     <ol>
119 :     <li>Doug can you put something here?<br>
120 :     </li>
121 :     </ol></td>
122 :     </tr>
123 :     <tr>
124 :     <td align="right" valign="top" width="2%"><img
125 :     src="http://dev.eclipse.org/images/Adarrow.gif" alt="List title arrow"
126 :     border="0" height="16" width="16"></td>
127 :     <td width="98%"> <b>Mailing Lists</b> <p> Once you are a contributor/committer
128 :     to Platform UI, you should be tracking the platform UI mailing list
129 :     to watch for issues related to what you've been doing, and feel free
130 :     to be part of other development discussions that affect your component.
131 : mvanmeek 1.2 See the<a href="../dev.html"> UI Development page</a> for our mailing
132 : mvanmeek 1.4 list information.</p>
133 :     <p>In addition you should follow the <a href="http://dev.eclipse.org/mailman/listinfo/platform-releng-dev">platform-releng-dev</a>
134 :     to track build and test failures in your component, upon seeing them
135 :     in a build they should be immediately resolved.</p></td>
136 : mvanmeek 1.1 </tr>
137 :     <tr>
138 :     <td align="right" valign="top" width="2%"><img
139 :     src="http://dev.eclipse.org/images/Adarrow.gif" alt="List title arrow"
140 :     border="0" height="16" width="16"></td>
141 :     <td width="98%"> <b>Patches</b> <ul>
142 :     <li>patches should be provided by way of bug reports with email to a
143 :     committer if you need them applied</li>
144 :     </ul></td>
145 :     </tr>
146 :     </tbody>
147 :     </table>
148 :     </body>
149 :     </html>