Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] ICOwner ...(was:Re: [cdt-patch] Indexer Patch Resubmit)

> 
> I guess it is fundamental that way. I do not think that plugins should be 
> managing/controlling projects.
> 
> The questions I have trouble answering are what qualifies something as an 
> "owner" of a project? Why does standard make and managed make "own" the 
> project and not the language nature for the project, or some other aspect 
> of a project? Who would own the project if we made managed make an 
> extension of standard make as we've discussed in the past? What are the 
> semantics behind ownership? What problems were we trying to solve by 
> adding the concept of owner to the CDT?
> 
> Projects exist independent of the natures/builders that are attached to 
> it. In fact, projects own what natures and builders are applied to it. By 
> having one of the natures/builders owning the project seems to turn this 
> upside down. This is something that has always bothered me, and I think 
> I've finally found a concrete reason why. How many owners are going to 
> forget to upgrade binary parsers and indexers and anything else we add in 
> the future? Or are there any other owners or is this point moot?
> 
> Anyway, this is just my opinion and to change anything now probably isn't 
> worth it. If it becomes too much of a problem, though, I'd like to revisit 
> this.
> 

Yes.

The original proposal can be found here:

http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/cdt-core-home/docs/cdtproject_extensions.html?cvsroot=Tools_Project

IIRC, the ICOwner was attach to the ".cdtproject" file.
The .cdtproject contains a list of settings and other information.
To restore the state of the file, the "owner" is instanciated and configure
is call:

   ICOwner.configure(project); // restore the settings to defaults

The make plugin (not the the Make Builder) is providing a wizard to create this
special project (std make project) and when it creates the project, it sets itself has
the "owner" of the .cdtproject file.  So if the file needs to be restore or reconfigure, he could
do it.

Eclipse has this relationship between Nature <--> Builders.  But now nature
is use as away in many extension point to filter(content-type, propety-page, ui contributions ....)
Confusing.



Back to the top