Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-core-dev] Flexible Project Stucture

Hi everyone,

I work in the Core IDE team at Freescale, and I would like to discuss with you on some requirements from our customers that we have addressed with changes in the Eclipse core resources plugin.

A very typical way to work with C/C++ project is to reassemble in a project sources from different locations in the file system. Many IDEs allow the user to create a flexible project structure where the "folders" are virtual only, and can contain files collected from different locations in the file system.

Although this is possible in Eclipse by using linked resources, the only way to effectively create an arbitrary complex project structure is by having real folders under which linked resources are created. This has the inconvenience of creating a set of empty directories on disk under the project folder.

In order to support fully "virtual" projects we have designed and implemented "Group Resources". Group resource is a standard Folder resource but that doesn't exist in the local file system (and is displayed distinctively to the user). The Group resource is implemented by having a new flag (M_GROUP) and a GroupDescription that is persisted in the .project file, containing the path of each group resource.

With mixing group resource (which is seen as a regular IFolder from the API perspective) and linked resources, the user can create arbitrarily complex project structure without having to create a set of empty directories under the project directory.

By design, only linked resources and other groups can be created under a group so we have updated the New File/Folder wizard to give a error message to the user may he attempts to perform such task.

Group resources are backward compatible as well. If the user tries to import a project in which he has group resources created in an non-group-enabled Eclipse, they will show automatically as regular folders (but then folders are actually created under the project directory).

Please let me know what you guys think, I'd be very interested to hear how our design can fit with your roadmap and whether we could integrate our implementation to the standard sources.

Thanks.

Serge.


Back to the top