Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] API for external tools

There have been a few informal discussions about  how external tool
providers should communicate with the base CDT.   We need discuss these API
issues here so that all interested parties can contribute to the
requirements and designs.

External tool providers might want to be able to do various things as
consumers, suppliers, controllers or some combination of the three.

Examples of things
      ...consumers might want to do:
          -get at parse information for use in some external tool

     ...suppliers might want to do:
          -contribute an alternative parser to the CDT
          -extend an existing CDT tool to provide richer functionality
          -provide actions to act against CDT resources and artifacts

     ...controllers might want to do:
          -explicitly control the build
          -explicitly control a debug session

There are already a few mechanisms in place that 3rd parties can use to
communicate with the CDT:
     1) Eclipse Action Contributions
          -to provide object actions against resources (we support this for
local but not remote projects)
          -we still need to provide this kind of support for working
against C artifacts
     2) Miners and the DataStore Framework
          -to get remoteable (works remotely as well as locally)
integration with the core tools and the UI
          -miner contributions automatically sufaced by views
          -we still need to provide better way to allow 3rd parties
configure which miners get loaded
     3) some APIs
          -there are some UI APIs that let you do some basic things, but
they aren't really designed for external use
          -there are also ways to integrate with the DataStore Framework
from the UI side

Now we need to know what's missing.   In particular, we need to provide
functionality that meets the requirements of external providers, where
reasonable.   There are a lot of questions that this raises.  To name a
few:
     -What do 3rd parties want to be able to use CDT for?
     -In what form should output from consumer APIs be?
     -How are providers' tools used with other non-CDT technologies?
     -Where are the primary tooling interests of the 3rd parties?  Local,
remote or both?
     -What are the practical ways to categorize and organize APIs?

In this thread, I hope we can generate some good discussion and maybe
answer some questions.  It is critical that we hear from 3rd parties,
themselves, but it would be nice to hear from other interested parties as
well.

____________________________________
David McKnight
Linux AD, CDT Development
Phone:   905-413-3902 , T/L:  969-3902
Internet: dmcknigh@xxxxxxxxxx
Mail:       D2/ 329/8200/TOR
____________________________________



Back to the top