Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "PTP/designs/remote/cdt"

< PTP‎ | designs‎ | remote
m (Roadmap to EFS Enablement for CDT)
(What is Needed?)
Line 10: Line 10:
 
With EFS, projects or its component directories and files can be linked to different file systems, which can be local, remote, or virtual. The files and directories can be physically located at completely diverse places.  
 
With EFS, projects or its component directories and files can be linked to different file systems, which can be local, remote, or virtual. The files and directories can be physically located at completely diverse places.  
  
To support EFS while keeping the standard make builder, the CDT build has to be modified in the way that the files in the project can, when necessary, be replicated in a build directory (optionally on a remote build server) before the build command is invoked. The existing build directory of the C/C++ Build property can be exteded for this purpose and an additional property of build server can be added (see pic).  
+
To support EFS while keeping the standard make builder, the CDT build has to be modified in the way that the files in the project can, when necessary, be replicated in a build directory (optionally on a remote build server) before the build command is invoked. The existing build directory of the C/C++ Build property can be exteded for this purpose and an additional property of build server can be added (see the picture).
 +
 
 +
[[Image:Buildserver.jpg]]
  
 
The above process abstracts and covers many different cases. Some typical scenarios include, but not limited to:
 
The above process abstracts and covers many different cases. Some typical scenarios include, but not limited to:

Revision as of 17:28, 3 May 2006

Evaluation of CDT for EFS support, esp. remote file system

The Current Status

CDT has no support for EFS at all. Even its support for locally linked resources are quite limited. For example, the following bugs are already identified:

  • 136136 Build directory should not be restricted to workspace
  • 70491 Invalid Include Path when "Link to Folder in the Filesystem"

And, also reference http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg03059.html for the discussion of linked resources.

What is Needed?

With EFS, projects or its component directories and files can be linked to different file systems, which can be local, remote, or virtual. The files and directories can be physically located at completely diverse places.

To support EFS while keeping the standard make builder, the CDT build has to be modified in the way that the files in the project can, when necessary, be replicated in a build directory (optionally on a remote build server) before the build command is invoked. The existing build directory of the C/C++ Build property can be exteded for this purpose and an additional property of build server can be added (see the picture).

Buildserver.jpg

The above process abstracts and covers many different cases. Some typical scenarios include, but not limited to:

  • whole project on remote server: if the build machine is the same as the file server, then no replication is necessary; otherwise replicate.
  • project with locally linked directories and files (linked to local file system): the files need to be replicated to a local build directory before invoking the build command.
  • project with virtual file system (zip, for example): the files has to be replicated to a local build directory.

This will affect several other related components of CDT. Such components include the Indexer, Managed Make etc.

Roadmap to EFS Enablement for CDT

  1. Modify the code to allow build directory outside of workspace (fix to bug 136136)
  2. Modify CDT Project Creation/Conversion Wizard for EFS support
  3. Add build server property to the build property tab and modify the code to launch build command on build server
  4. Modify the affected components like Indexer and ManagedMake and fix those components [to be investigated]

Back to the top