Bug 231407 Conversion to API tools for org.eclipse.core.jobs and org.eclipse.core.runtime
diff --git a/bundles/org.eclipse.core.jobs/.project b/bundles/org.eclipse.core.jobs/.project
index 06b10a8..eac5e6e 100644
--- a/bundles/org.eclipse.core.jobs/.project
+++ b/bundles/org.eclipse.core.jobs/.project
@@ -20,9 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobChangeEvent.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobChangeEvent.java
index 4a39905..9a41b93 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobChangeEvent.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobChangeEvent.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * Copyright (c) 2003, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -14,11 +14,10 @@
 
 /**
  * An event describing a change to the state of a job.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
+ * 
  * @see IJobChangeListener
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IJobChangeEvent {
 	/**
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobManager.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobManager.java
index 772aa8a..9b43773 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobManager.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobManager.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * Copyright (c) 2003, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -29,13 +29,11 @@
  * <li>Provide feedback to a client that is waiting for a given job or family of jobs
  * to complete.</li>
  * </ul>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
  * 
  * @see Job
  * @see ILock
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IJobManager {
 	/**
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobStatus.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobStatus.java
index fbdb275..16953b2 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobStatus.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/IJobStatus.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * Copyright (c) 2004, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -14,11 +14,9 @@
 
 /**
  * Represents status relating to the execution of jobs.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
+ * 
  * @see org.eclipse.core.runtime.IStatus
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IJobStatus extends IStatus {
 	/**
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/ILock.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/ILock.java
index 3199113..c3a5772 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/ILock.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/ILock.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * Copyright (c) 2003, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -43,11 +43,11 @@
  * Note: although <tt>lock.acquire</tt> should never fail, it is good practice to place 
  * it inside the try block anyway.  Releasing without acquiring is far less catastrophic 
  * than acquiring without releasing.
- * </p><p>
- * This interface is not intended to be implemented by clients.
  * </p>
+ * 
  * @see IJobManager#newLock()
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ILock {
 	/**
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/MultiRule.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/MultiRule.java
index 02089ee..b8db695 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/MultiRule.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/runtime/jobs/MultiRule.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * Copyright (c) 2003, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -22,10 +22,9 @@
  * A MultiRule will never contain other MultiRules as children.  If a MultiRule is provided
  * as a child, its children will be added instead.
  * </p>
- * <p>
- * This class is not intended to be subclassed by clients.
- * </p>
+ * 
  * @since 3.0
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class MultiRule implements ISchedulingRule {
 	private ISchedulingRule[] rules;
diff --git a/bundles/org.eclipse.core.runtime/.project b/bundles/org.eclipse.core.runtime/.project
index 3643f04..3d90f5a 100644
--- a/bundles/org.eclipse.core.runtime/.project
+++ b/bundles/org.eclipse.core.runtime/.project
@@ -20,9 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.core.runtime/component.xml b/bundles/org.eclipse.core.runtime/component.xml
deleted file mode 100644
index c1feece..0000000
--- a/bundles/org.eclipse.core.runtime/component.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Eclipse Platform Runtime">
-   <component-depends unrestricted="true"/>
-
- <plugin id="org.eclipse.core.runtime" />
- <plugin id="org.eclipse.core.runtime.compatibility" />
-
- <package name="org.eclipse.core.boot"/>
- 
- <package name="org.eclipse.core.runtime">
-   <type name="EventStats" instantiate="false" subclass="false" />
-   <type name="IAdapterManager" implement="false" />
-   <type name="IConfigurationElement" implement="false" />
-   <type name="IExtension" implement="false" />
-   <type name="IExtensionDelta" implement="false" />
-   <type name="IExtensionPoint" implement="false" />
-   <type name="IExtensionRegistry" implement="false" />
-   <type name="ILibrary" implement="false" />
-   <type name="ILog" implement="false" />
-   <type name="InvalidRegistryObjectException" subclass="false" instantiate="false"/>
-   <type name="IPath" implement="false" />
-   <type name="IPluginDescriptor" implement="false" />
-   <type name="IPluginPrerequisite" implement="false" />
-   <type name="IPluginRegistry" implement="false" />
-   <type name="IRegistryChangeEvent" implement="false" />
-   <type name="Path" subclass="false" />
-   <type name="PluginVersionIdentifier" subclass="false" />
-   <type name="Preferences" subclass="false" />
-   <type name="QualifiedName" subclass="false" />
- </package>
- 
- <package name="org.eclipse.core.runtime.content">
-	<type name="BinarySignatureDescriber" instantiate="false" />
-	<type name="IContentDescription" implement="false" />
-	<type name="IContentType" implement="false" />
-	<type name="IContentTypeManager" implement="false" />
-	<type name="XMLRootElementContentDescriber2" instantiate="false" />
- </package>
- 
- <package name="org.eclipse.core.runtime.dynamicHelpers"/>
- 
- <package name="org.eclipse.core.runtime.jobs">
-	<type name="IJobChangeEvent" implement="false" />
-	<type name="IJobManager" implement="false" />
-	<type name="IJobStatus" implement="false" />
-	<type name="ILock" implement="false" />
-	<type name="MultiRule" subclass="false" />
- </package>
- 
- <package name="org.eclipse.core.runtime.preferences">
-	<type name="IExportedPreferences" implement="false" />
-	<type name="IPreferencesService" implement="false" />
- </package>
- 
- <package name="org.osgi.service.prefs"/>
- 
- <package name="org.eclipse.core.runtime.model"/>
-
-</component>
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
index d83ea1b..a986440 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -21,11 +21,9 @@
  * Libraries are typed.  The type is used to determine to which search path the library's
  * contribution should be added.  The valid types are: <code>CODE</code> and
  * <code>RESOURCE</code>.  
- * </p><p>
- * This interface is not intended to be implemented by clients.
  * </p>
- *
- * @see IPluginDescriptor#getRuntimeLibraries() 
+ * 
+ * @see IPluginDescriptor#getRuntimeLibraries()
  * @deprecated 
  * In Eclipse 3.0 the plug-in classpath representation was changed.  Clients of 
  * <code>ILibrary</code> are directed to the headers associated with the relevant bundle.
@@ -54,6 +52,8 @@
  * This interface must only be used by plug-ins 
  * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
  * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ILibrary {
 	/**
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
index d4c95f6..6d59c23 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -17,10 +17,11 @@
  * plug-ins and on the platform itself.  Clients can register log listeners which
  * will receive notification of all log events as they come in.
  * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
  * XXX Need to create a new log interface on common plugin. That interface should be a super interface of this ILog.
  * getBundle() would stay here. In the super interface we would have getName()
+ * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ILog {
 	/**
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
index 5f6c315..77d0088 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -22,9 +22,7 @@
  * been started. In contrast, a plug-in's runtime object 
  * (<code>getPlugin</code>) generally runs plug-in-defined code.
  * </p>
- * <p>This interface is not intended to be implemented by clients.
- * </p>
- *
+ * 
  * @deprecated 
  * <code>IPluginDescriptor</code> was refactored in Eclipse 3.0.
  * Most of the functionality has moved to {@link Platform} and the 
@@ -67,6 +65,7 @@
  * </p>
  * 
  * @see #getPlugin()
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPluginDescriptor {
 	/**
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
index eb6efd0..9ff8305 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -18,9 +18,6 @@
  * A prerequisite entry declared by a plug-in. The declaration causes
  * classes defined by the prerequisite plug-in to be visible
  * to the plug-in that declared the dependency.
- * <p>
- * This interface is not intended to be implemented by developers.
- * </p>
  *
  * @see IPluginDescriptor#getPluginPrerequisites()
  * @deprecated 
@@ -47,6 +44,8 @@
  * This interface must only be used by plug-ins 
  * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
  * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPluginPrerequisite {
 	/**
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
index 03a4f6d..3212a1d 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -17,9 +17,6 @@
  * The plug-in registry can be queried, by name, for 
  * plug-ins, extension points, and extensions.
  * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
  * 
  * @deprecated 
  * The plug-in registry has been generalized in Eclipse 3.0.  It is now the
@@ -33,6 +30,8 @@
  * This interface must only be used by plug-ins 
  * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
  * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPluginRegistry {
 	/**
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
index a76ee92..37d49a8 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -65,8 +65,7 @@
  * does not cause any events to be reported.
  * </p>
  * <p>
- * Clients may instantiate this class. This class was not designed to be 
- * subclassed.
+ * Clients may instantiate this class.
  * </p>
  * <p>
  * The implementation is based on a pair of internal 
@@ -84,6 +83,7 @@
  * </p>
  * 
  * @since 2.0
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class Preferences {