Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-core-dev] CProject extension

> 
> Hi,
> 
> we are trying to create specific project type to extend CDT and add some
> functionalities. In this process, I tried to understand how I could
> create plugins that would extend cdt. And I have met at least one issue
> for which I didn't find a way to turn around: the CModelManager creates
> only CProject objects and therefore if I subclass CProject my object is
> never going to be created by CDT. Tell me if I miss anything ....
> 
> If I understand well, to extend CDT I should create new natures, but I
> can't find how to use natures to extend the CProject. Again maybe I miss
> something here...
> 
> So with all of that, I thought we could make CDT a little bit more
> generic to allow to extend CProject. I thought that the CModelManager
> could create CProject (or others) based on the Nature of the IProject. I
> guess we would need also a CNature interface to create the CProject.
> 
> Does that make sense ? or did I miss anything ?
> If it makes sense, we (MontaVista) are ready to work on it and
> contribute it back to the community.
> 

Cool!

> If you need more details or have questions, let me know.
> 

Yes more details 8-)
What is it you want to achieve.

CProject and CModelManager are not meant to be visible nor
subclass, this is why they are in

org.eclipse.cdt.internal.core.model.*
             ^^^^^^^^^^^^

Notice the "internal", we could probably inforce this
by changing the class scope to be package .. but probably not practical 8)

The entry point for creating a "C Project" is via the wizards.

For example org.eclipse.cdt.ui.wizards.StdMakeProjectWizard.java
creates a C Project and set the Builder to be the default make builder
i.e. spawning("make").

Other methods are helpfull in the
	org.eclipse.cdt.core.CCorePlugin
and 
	org.eclispse.cdt.core.model.CoreModel





Back to the top