<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<title>Eclipse 3.8 Release Checklists</title>
<link href="../../default_style.css" rel="stylesheet">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body text="#000000" vlink="#551a8b" alink="#ff0000" link="#0000ee" bgcolor="#ffffff">

<table cellspacing="5" cellpadding="2" width="100%" border="0">
  <tbody>
    <tr>
      <td valign="top" align="left" bgcolor="#595791" colspan="2"><font face="Arial,Helvetica" color="#ffffff"><a name="ComponentTestPlans"></a>Eclipse 3.8 Release Checklists</font></td>
    </tr>
  </tbody>
</table>
<p>
The official check list can be found <a href="http://wiki.eclipse.org/Eclipse/Release_checklist">here</a>.
</p>
<ol>
  <li><b>Copyright notices</b>
    <ul>
      <li>All source files must have appropriate EPL v1.0 copyright notice</li>
      <li>Source files whose content was created for 3.8 should only have 2011 or 2012 in the copyright notice</li>
      <li>Source files whose content was modified during 3.8 cycle should have 200x, 2011/2012 in the copyright notice</li>
      <li>All features should have &quot;(c) Copyright Eclipse contributors and 
        others 2000, 2012.&quot; in Help &gt; About Eclipse Platform</li>
    </ul>
  </li>
  <li><b>Plug-in and feature identification</b>
    <ul>
      <li>Check this info from <code>Help &gt; About Eclipse SDK</code></li>
      <li>All features should have provider &quot;Eclipse.org&quot; and version
        &quot;3.8.0.qualifier&quot;</li>
      <li>All plug-ins should have provider &quot;Eclipse.org&quot; and version
        &quot;3.8.0.qualifier&quot; except for known special cases (org.apache.*,
        org.junit, org.eclipse.tomcat and bundles from Orbit)</li>
    </ul>
  </li>
  <li><b>License agreements for features and plug-ins</b>
    <ul>
      <li><code>Help &gt; About Eclipse SDK</code> &gt; {Feature | Plug-in} Details &gt;
        More Info</li>
      <li>All features should link to the Eclipse Foundation Software User Agreement</li>
      <li>All plug-ins should link to the plug-in's about.html file containing
        its plug-in-specific license</li>
    </ul>
  </li>
  <li><b>Extension point documentation</b>
    <ul>
      <li>Extension points must be documented in the appropriate help book
        <ul>
          <li>Platform Plug-in Developer Guide; section Reference / Extension
            Points Reference</li>
          <li>JDT Plug-in Developer Guide; section Reference / Extension Points
            Reference</li>
          <li>PDE Guide; section Reference / Extension Points Reference</li>
        </ul>
      </li>
      <li>Must be a link to each extension point that a component has</li>
      <li>Extension points added in 3.8 must be clearly marked &quot;Since
        3.8&quot;</li>
    </ul>
  </li>
  <li><b>API documentation</b>
    <ul>
      <li>Java API must be documented in the appropriate help book
        <ul>
          <li>Platform Plug-in Developer Guide; section Reference / API
            Reference</li>
          <li>JDT Plug-in Developer Guide; section Reference / API Reference</li>
          <li>PDE Guide; section Reference / API Reference</li>
        </ul>
      </li>
      <li>Must be a link to each API package that a component has</li>
      <li>API package must have package overview (package.html)</li>
      <li>All API elements must be documented</li>
      <li>API elements added in 3.8 must be tagged &quot;@since 3.8&quot; (see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=190060">bug 190060</a> for tooling support)</li>
    </ul>
  </li>
  
  <li><b>API Compatibility</b>
    <ul>
      <li>Verify that there are no issues in the API Tools reports</li>
    </ul>
  </li>
  
  <li><b>3.8 Plug-in Migration Guide</b>
    <ul>
      <li>Instructions for migrating older plug-ins to 3.8</li>
      <li>Must describe incompatibilities and breaking API changes</li>
      <li>Should describe deprecations and places where 3.8 has a better story
        that plug-ins should more to</li>
      <li>Located in Platform Plug-in Developer Guide / Porting Guide</li>
    </ul>
  </li>
  
  <li><b>Documentation</b>
    <ul>
  		<li>Add and update documentation according to the <a href="http://wiki.eclipse.org/index.php/Eclipse_Doc_Checklist">doc check list</a>.</li>
    </ul>
  
  
  <li><b>What's New in 3.8</b>
    <ul>
      <li>Describes the more interesting differences that 3.3 users will see
        when they upgrade to 3.8</li>
      <li>Located in {Workbench | Java Development | PDE} User Guide / What's
        new</li>
    </ul>
  </li>
  <li><b>Release notes</b>
    <ul>
      <li>Add known problems for each component and other late-breaking news for
        customers of 3.8</li>
      <li>Located in eclipse/readme/readme_eclipse.html</li>
    </ul>
  </li>
</ol>

</body>

</html>
