Difference between revisions of "PTP/planning/remote"

From Eclipsepedia

< PTP‎ | planning
Jump to: navigation, search
(Meeting Minutes)
(Planning)
Line 49: Line 49:
 
Since this project is in the embryonic stage right now, there is no detailed project plan.  However, there are some areas that are currently being worked on and/or investigated.  We welcome contributions in all areas, so if you are interested in a particular area, do not hesitate to offer your input and assistance.
 
Since this project is in the embryonic stage right now, there is no detailed project plan.  However, there are some areas that are currently being worked on and/or investigated.  We welcome contributions in all areas, so if you are interested in a particular area, do not hesitate to offer your input and assistance.
  
This is only a short term road map, intended to encompass what we're planning to work on in time for the Ganymede release in June, 2008.
+
Here is the current state of affairs, as of June, 2008.
  
 
* General Remote Services
 
* General Remote Services
** PTP has a preliminary implementation for remote services abstraction.
+
** PTP has a preliminary implementation for remote services abstraction.  "Remote services" means essentially file operations, as well as launching and control of remote processes.
** Greg Watson (IBM) will be extending this to add IPath2 and support for arbitrary service types
+
*** There are several supported implementations of these services, the two most prominent of which are an implementation based on the [http://wiki.eclipse.org/TM_and_RSE_FAQ#What_is_RSE.3F Remote Systems Explorer (RSE)], and a lightweight SSH-only provider that is a part of PTP proper.
 +
** Greg Watson and Chris Recoskie have designed a [http://wiki.eclipse.org/PTP/designs/remote#Service_Model service model] for remote projects.  This model has been implemented in PTP in the org.eclipse.ptp.rdt.services plugin., which allows:
 +
*** The user to configure which services in their system are mapped to which providers and locations.
 +
*** ISVs and tool implementers to define new services, and contribute providers to any defined services.
  
* EFS Support in CDT [[http://wiki.eclipse.org/PTP/designs/remote#Eclipse_File_System_Support | Designs and notes]]
+
* EFS Support in CDT [[http://wiki.eclipse.org/PTP/designs/remote#Eclipse_File_System_Support Designs and notes]]
** Greg Watson (IBM) and Chris Recoskie (IBM) are currently working on this.
+
** Chris Recoskie (IBM) has made some changes in CDT 5.0 to allow for one to successfully use CDT to create EFS hosted projects and edit the files.  There are some other additional enabling API changes that were made to allow for CModel elements to be tied to EFS URIs.
 +
** Currently creating an EFS project does not magically allow all parts of CDT to work remotely.  Most of CDT is still not EFS aware.
  
* Remote Indexing for C/C++ (using CDT)
+
* Remote Indexing for C/C++ (using CDT) [[http://wiki.eclipse.org/PTP/designs/remote#Parsing_and_Indexing overview]]
** Jason Montojo and Chris Recoskie have prototyped a remote indexing framework, and a proof of concept implementation of a remote Call Hierarchy utilizing it.  Currently the framework is being re-evaluated in the context of the need for a general framework for specifying the model for remote services. We will begin looking at this in depth again in late October, 2007.
+
** Jason Montojo and Chris Recoskie have have implemented an initial set of C/C++ index based services using RSE's dstore protocol as the communication mechanism.  An initial patch has been created and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=236944 submitted] to the PTP Bugzilla and is currently waiting to be committed.  Currently implemented features include:
 +
*** A New Remote C/C++ Project wizard that allows you to create remote projects and configure your service model
 +
*** Integrated index lifecycle management
 +
*** Automatic source code delta handling (the index is automatically updated when files in your project are added/removed/changed)
 +
*** Remote Search
 +
*** Remote Call Hierarchy
 +
*** Remote Navigation (e.g. Go To Declaration)
 +
** Other planned services include:
 +
*** Content Assist
 +
*** Type Hierarchy
 +
*** Include browser
 +
*** Model builder
 +
** Current Work Items
 +
*** Jason is working on content assist.
 +
*** Mike Kucera is working on remote scanner info support.
  
 
* Remote Standard Make (using CDT)
 
* Remote Standard Make (using CDT)
** Chris Recoskie and Mike Kucera (IBM) are planning to investigate this further in 1Q 2008.  However, if someone wishes to start taking a look at this sooner, we would definitely be open to that.
+
** Chris Recoskie has started working on a Remote Make Builder and hopes to have a prototype working sometime in the summer of 2008.  This builder will use PTP's Remote Services API in order to launch the builder (make) on the remote system.

Revision as of 10:52, 18 June 2008

Contents

Remote Development Tools

List of Authors:

   Chris Recoskie (recoskie@ca.ibm.com)
   Greg Watson (grw@us.ibm.com)

Background

This page is for organizing efforts surrounding remote development tools for PTP. Initially this will encompass efforts surrounding a remote development solution that utilizes CDT to provide a suite of remote development tools for C/C++ development. Given that the Photran (Fortran) project is built on top of CDT, we foresee that in the future the remote support we build for CDT could form the basis for remote support for Fortran as well.

Interested Parties

IBM

  • Greg Watson (PTP)
  • Chris Recoskie (CDT)

HP

  • Jacob Augustine

Intel

  • Leo Treggiari (CDT)

Cril Technology

  • Benoit Souyri

Presentations

  • Remote Development Presented at the CDT Summit 2007 detailing the motivation behind the need for remote development tools and the status of current efforts.

Meeting Minutes

Monthly conference calls will be held the second Friday of every month at 9:30 Eastern time (GMT -5/-4).

Dial In Info:

Local 416-343-2604 NA Toll Free 1-866-576-2504 International Toll Free 800 4444 3030 Conference ID 9053695

RDT conference call, January 11, 2008

RDT conference call, March 14, 2008

Planning

Since this project is in the embryonic stage right now, there is no detailed project plan. However, there are some areas that are currently being worked on and/or investigated. We welcome contributions in all areas, so if you are interested in a particular area, do not hesitate to offer your input and assistance.

Here is the current state of affairs, as of June, 2008.

  • General Remote Services
    • PTP has a preliminary implementation for remote services abstraction. "Remote services" means essentially file operations, as well as launching and control of remote processes.
      • There are several supported implementations of these services, the two most prominent of which are an implementation based on the Remote Systems Explorer (RSE), and a lightweight SSH-only provider that is a part of PTP proper.
    • Greg Watson and Chris Recoskie have designed a service model for remote projects. This model has been implemented in PTP in the org.eclipse.ptp.rdt.services plugin., which allows:
      • The user to configure which services in their system are mapped to which providers and locations.
      • ISVs and tool implementers to define new services, and contribute providers to any defined services.
  • EFS Support in CDT [Designs and notes]
    • Chris Recoskie (IBM) has made some changes in CDT 5.0 to allow for one to successfully use CDT to create EFS hosted projects and edit the files. There are some other additional enabling API changes that were made to allow for CModel elements to be tied to EFS URIs.
    • Currently creating an EFS project does not magically allow all parts of CDT to work remotely. Most of CDT is still not EFS aware.
  • Remote Indexing for C/C++ (using CDT) [overview]
    • Jason Montojo and Chris Recoskie have have implemented an initial set of C/C++ index based services using RSE's dstore protocol as the communication mechanism. An initial patch has been created and submitted to the PTP Bugzilla and is currently waiting to be committed. Currently implemented features include:
      • A New Remote C/C++ Project wizard that allows you to create remote projects and configure your service model
      • Integrated index lifecycle management
      • Automatic source code delta handling (the index is automatically updated when files in your project are added/removed/changed)
      • Remote Search
      • Remote Call Hierarchy
      • Remote Navigation (e.g. Go To Declaration)
    • Other planned services include:
      • Content Assist
      • Type Hierarchy
      • Include browser
      • Model builder
    • Current Work Items
      • Jason is working on content assist.
      • Mike Kucera is working on remote scanner info support.
  • Remote Standard Make (using CDT)
    • Chris Recoskie has started working on a Remote Make Builder and hopes to have a prototype working sometime in the summer of 2008. This builder will use PTP's Remote Services API in order to launch the builder (make) on the remote system.