diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java
index 011a9416b8c..d472105e1db 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java
@@ -610,7 +610,7 @@ public class CCorePlugin extends Plugin {
}
/**
- * @deprecated use getCProjetDescription(IProject project, boolean create)
+ * @deprecated use {@link #getProjectDescription(IProject, boolean)} instead
*/
@Deprecated
public ICDescriptor getCProjectDescription(IProject project) throws CoreException {
@@ -618,14 +618,19 @@ public class CCorePlugin extends Plugin {
}
/**
- * Get the ICDescriptor for the given project, if create is true then a descriptor will be created
- * if one does not exist.
- *
+ * Please use {@link #getProjectDescription(IProject, boolean)} to fetch the
+ * ICProjectDescription for the project. And use {@link ICProjectDescription#getConfigurations()}
+ * to get an array of ICConfigurationDescriptions, which have similar API to ICDescriptor,
+ * allowing you to store settings and configure extensions at the Configuration level
+ * rather than at the project level.
+ *
* @param project
* @param create
* @return ICDescriptor or null if create is false and no .cdtproject file exists on disk.
* @throws CoreException
+ * @deprecated
*/
+ @Deprecated
public ICDescriptor getCProjectDescription(IProject project, boolean create) throws CoreException {
return fNewCProjectDescriptionManager.getDescriptorManager().getDescriptor(project, create);
}
@@ -642,6 +647,16 @@ public class CCorePlugin extends Plugin {
}
}
+ /**
+ * @deprecated Settings should be set per ICConfigurationDescription rather than
+ * global to the project. Please use {@link #getProjectDescription(IProject, boolean)}
+ * to fetch the ICProjectDescription for the project. And use
+ * {@link ICProjectDescription#getConfigurations()} to get an array of
+ * ICConfigurationDescriptions, which have similar API to ICDescriptor,
+ * allowing you to store settings and configure extensions at the Configuration level
+ * rather than at the project level.
+ */
+ @Deprecated
public ICDescriptorManager getCDescriptorManager() {
return fNewCProjectDescriptionManager.getDescriptorManager();
}
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CDescriptorEvent.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CDescriptorEvent.java
index 1efb24f2a10..69ba44b73ba 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CDescriptorEvent.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CDescriptorEvent.java
@@ -12,10 +12,15 @@ package org.eclipse.cdt.core;
import java.util.EventObject;
+import org.eclipse.cdt.core.settings.model.CProjectDescriptionEvent;
+import org.eclipse.cdt.core.settings.model.ICProjectDescriptionListener;
+
/**
* @noextend This class is not intended to be subclassed by clients.
* @noinstantiate This class is not intended to be instantiated by clients.
+ * @deprecated register {@link ICProjectDescriptionListener} for {@link CProjectDescriptionEvent}
*/
+@Deprecated
public class CDescriptorEvent extends EventObject {
/**
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptor.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptor.java
index a7401e723a2..92db301ff40 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptor.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptor.java
@@ -30,7 +30,11 @@ import org.w3c.dom.Element;
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
+ * @deprecated as this API is not configuration aware. Replaced by
+ * {@link ICConfigurationDescription} which can be fetched with
+ * {@link ICProjectDescription#getConfigurations()}
*/
+@Deprecated
public interface ICDescriptor {
public ICOwnerInfo getProjectOwner();
public String getPlatform();
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorListener.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorListener.java
index 0f00b60c2b7..e233896138a 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorListener.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorListener.java
@@ -10,6 +10,13 @@
*******************************************************************************/
package org.eclipse.cdt.core;
+import org.eclipse.cdt.core.settings.model.CProjectDescriptionEvent;
+import org.eclipse.cdt.core.settings.model.ICProjectDescriptionListener;
+
+/**
+ * @deprecated register {@link ICProjectDescriptionListener} for {@link CProjectDescriptionEvent}
+ */
+@Deprecated
public interface ICDescriptorListener {
public void descriptorChanged(CDescriptorEvent event);
}
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorManager.java
index 36ad2e0e0fd..463e97ce622 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorManager.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorManager.java
@@ -12,6 +12,7 @@
package org.eclipse.cdt.core;
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
+import org.eclipse.cdt.core.settings.model.ICProjectDescriptionManager;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -19,7 +20,9 @@ import org.eclipse.core.runtime.IProgressMonitor;
/**
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
+ * @deprecated replace with {@link ICProjectDescriptionManager} & {@link ICProjectDescription}
*/
+@Deprecated
public interface ICDescriptorManager {
public void configure(IProject project, String id) throws CoreException;
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorOperation.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorOperation.java
index ccbfe545013..2225267fe3c 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorOperation.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICDescriptorOperation.java
@@ -18,7 +18,9 @@ import org.eclipse.core.runtime.IProgressMonitor;
/**
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
+ * @deprecated
*/
+@Deprecated
public interface ICDescriptorOperation {
/**
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICExtensionReference.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICExtensionReference.java
index f0ad0dd7b6f..c8c2c8060d6 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICExtensionReference.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICExtensionReference.java
@@ -11,6 +11,7 @@
package org.eclipse.cdt.core;
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
+import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
@@ -27,7 +28,9 @@ import org.eclipse.core.runtime.IConfigurationElement;
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
+ * @deprecated replaced with {@link ICConfigExtensionReference} obtained from an {@link ICConfigurationDescription}
*/
+@Deprecated
public interface ICExtensionReference {
/**
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICOwner.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICOwner.java
index 8a7fa44535e..09386c9a645 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICOwner.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ICOwner.java
@@ -15,7 +15,9 @@ import org.eclipse.core.runtime.CoreException;
/**
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
+ * @deprecated
*/
+@Deprecated
public interface ICOwner {
public void configure(ICDescriptor cproject) throws CoreException;
public void update(ICDescriptor cproject, String extensionID) throws CoreException;