<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Eclipse Platform/Core</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
</head>
<body>
<center>
	<font class=indextop>core</font><br>
	<font class=indexsub>the foundation of the platform</font><p></p>
	<a href="main.html">[home]</a>
	<a href="documents.html">[documents]</a>
	<a href="downloads.html">[downloads]</a>
	<a href="resources.html">[resources]</a>
	<a href="planning.html">[planning]</a>
	<a href="testing.html">[testing]</a>
</center>
<br>
<table BORDER=0 CELLPADDING=2 WIDTH="100%" >
	<tr> 
		<td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">Resources</font></b></td>
	</tr>
  <tr> 
	<td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td width="98%"><b>Plug-ins</b> <br>
      The Platform/Core component consists of the following plug-ins:&nbsp; 
      <ul>
        <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.core.boot" target="_top">org.eclipse.core.boot</a> 
          (deprecated) </li>
        <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.core.runtime" target="_top">org.eclipse.core.runtime</a></li>
        <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.core.resources" target="_top">org.eclipse.core.resources</a></li>
        <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.core.runtime.compatibility" target="_top">org.eclipse.core.runtime.compatibility</a></li>
        <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.osgi" target="_top">org.eclipse.osgi</a></li>
        <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.osgi.services" target="_top">org.eclipse.osgi.services</a></li>
        <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.osgi.util" target="_top">org.eclipse.osgi.util</a></li>
      </ul>
    </td>
  </tr>
  <tr> 
	<td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
	<td width="98%"><b>Bugs</b> 
      <ul>
        <li> <a href="https://bugs.eclipse.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=Platform&component=Resources&component=Runtime&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=anywords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&priority=P1&emailtype1=substring&email1=&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&namedcmd=5votes&newqueryname=&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=" target="_top">Priority 
          1</a></li>
        <li> <a href="https://bugs.eclipse.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=Platform&component=Resources&component=Runtime&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=anywords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=7&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&namedcmd=5votes&newqueryname=&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=" target="_top">Resolved 
          in the last week</a> </li>
        <li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=Platform&component=Resources&component=Runtime&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=anywords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=platform&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&namedcmd=5votes&newqueryname=&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=" target="_top">Inbox</a> 
          - These are the bug reports which have been entered against the Platform/Core 
          component and are either awaiting more information from originator or 
          have not yet been verified as a bug. The general state of bugs in this 
          query is <em>uncategorized</em>.</li>
        <li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=Platform&component=Resources&component=Runtime&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=anywords&keywords=&bug_status=ASSIGNED&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&emailassigned_to1=1&emailtype1=substring&email1=platform&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&namedcmd=5votes&newqueryname=&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=" target="_top">Open 
          Bugs</a> - These are the bug reports which have either been verified 
          as real bugs or issues which should be investigated. Feature requests 
          are <em>not</em> included in this list.</li>
        <li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=Platform&component=Resources&component=Runtime&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=anywords&keywords=&bug_status=ASSIGNED&bug_severity=enhancement&emailassigned_to1=1&emailtype1=substring&email1=platform&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&namedcmd=5votes&newqueryname=&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=" target="_top">Feature 
          Requests</a> - These are the bug reports which are not bugs but are 
          features that the user wishes to have added to the Core. They have been 
          marked with a severity of <em>enhancement</em>.</li>
		  <li>Prefixes - We will be adding a prefix to the summary line of our
		  bug reports to better categorize them. 
		  <ul>
		  <li>Platform/Runtime: [doc], [jobs], [prefs], [osgi], [content type], [registry], [other]</li>
		  <li>Platform/Resources: TBD</li>
		  </ul>
	    </li>
      </ul>
    </td>
  </tr>
  <tr> 
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td WIDTH="98%"><b>Mailing Lists</b> 
      <ul>
        <li> <a href="http://dev.eclipse.org/mailman/listinfo/platform-core-dev">platform-core-dev@eclipse.org</a> 
          (<a href="mailto:platform-core-dev@eclipse.org">post</a>, <a href="http://dev.eclipse.org/mhonarc/lists/platform-core-dev/maillist.html">archives</a>)</li>
      </ul>
    </td>
  </tr>
</table>

</body>
</html>