Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
CDT/Archive/planning/3.1
Contents
Endgame Plan
CDT 3.1 is planned to be a part of the Callisto simultaneous release. The following is the current endgame plan:
- RC0 – May 1 (done)
- RC1 – May 15 (done)
- RC2 – May 29 (end of free-for-all bug fixing)
- RC3 – June 12 (critical fixes only, GA candidate)
- RC4 – June 26 (if necessary, emergency fixes only)
Please add your CDT 3.1 plan items below.
The Debugger Plan Items
The 3.1 plan below is a draft in progress - input from the community is welcome.
Eclipse Debug Platform improvements
Asynchronous API
Provide asynchronous adapters for the CDT debug elements Bugzilla #106205.
Pluggable view update policies
Investigate the possibilities and advantages of the pluggable update policies feature for CDT Bugzilla #104111.
Debug context management
Investigate the advantages of the new debug context management for CDT.
CDT UI
Modules and Signals views
Replace the current viewer by the asynchronous tabletree viewer.
Signals view
Move to the gdb/MI UI.
Disassembly view
Improve the disassembly view Bugzilla #115786, Bugzilla #27239, Bugzilla #27892.
Launcher
Projectless debugging
Allow to debug executables built outside of CDT Bugzilla #39640.
CDI
Add modularity
The idea is to allow clients to contribute parts to CDI that overwrite the default implementation.
Support for modules
The modules view information should be retrieved from the backend Bugzilla #102164.
Support for symbol tables
The symbol table related information should be queried from the backend Bugzilla #91771.
Source lookup support
The list of required source files and directories should be provided by the backend Bugzilla #41529.
gdb/MI
Modified/extended gdb/MI protocols
Add an extension point to contribute command factories Bugzilla #114793.
Special launch configuration type for GDB Server
Add a separate launch configuration type for GDB Server instead of supporting it as a special debugger Bugzilla #79458.
Verbose mode for gdb console
Add an option to display the gdb trace in the console Bugzilla #113107.
Managed Build System Plan Items
Support for resources with spaces
Support spaces in the project name, sub-folder names, project resource names, and linked resources. See Bugzilla #76613, Bugzilla #85227
Tool input ordering - Deferred
Support user defined ordering of tool inputs (e.g. the user can reorder the inputs to the linker to ensure link time dependencies are resolved in the proper order). This feature has been deferred
Partial builds/cleans
Support building/cleaning a single file, and compile all without linking. See Bugzilla #45538.
New Dependency Calculator interface
Add a new dependency calculator interface. It will use Paths rather than Resources. It will add more flexibility to how dependencies can be generated. Convert the built-in GNU tool-chains to use the new interface and to generate .d files as a side-effect of compilation. See Bugzilla #109289 and Bugzilla #108715.
Usability improvements
Allow CDT users to select the active build configuration in the C/C++ perspective without going through the project Properties dialog box.
New Build Description Model
The proposed model splits the building process into 3 separate steps:
1. A builder-independent description of how to build the selected build configuration is generated from the ManagedBuildInfo model.
2. A build file generator uses the build description from step 1 to generate buildfiles that will perform the build, or an internal builder uses the build description to determine what needs to be built.
3. The builder is invoked to perform the built using information generated in step 2.
The model will be partially implemented in CDT 3.1. See Bugzilla #126221.
Build only what is needed
Building only what is needed to be built. See Bugzilla #76452, Bugzilla #121375
DOM Plan Items
DOM Persistance (PDOM)
Persist names and bindings and anything else necessary for fast retrieval by editor and source navigation features. Rewrite the search engine so that it uses the PDOM instead of the old index.
Index View
Create a view that presents a tree representation of the contents of the index.
Indexer and Type Cache Removal
Remove the old indexers. The PDOM provides more information than the indexers provided. Move all features that directly used the index to the PDOM, including search, class browser and type hierarchy.
Multi-Language Support
Support the adaptation of the DOM to multiple languages (at least formalize the interfaces since it is already multi-language). Ensure features that use the DOM do so in a language independent manner as much as possible.