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 "CDT/Obsolete/APIBreakages"

< CDT‎ | Obsolete
(Proposed API-breaking changes)
(Proposed API-breaking changes)
Line 4: Line 4:
  
 
=== Proposed API-breaking changes ===
 
=== Proposed API-breaking changes ===
# Remove all methods, interfaces and classes that have been deprecated since around 2 years CDT 8.?.0 and are not currently used in CDT code.
+
* Remove all methods, interfaces and classes that have been deprecated since around 2 years CDT 8.?.0 and are not currently used in CDT code.
#* Improves readability
+
** Improves readability
#* Reduces maintenance
+
** Reduces maintenance
#* Could be contributions from a hackathon
+
** Could be contributions from a hackathon
#* Suggested rules (not mandatory): something deprecated for around 2 years and not used by CDT itself
+
** Suggested rules (not mandatory): something deprecated for around 2 years and not used by CDT itself
#* Delete CDI plugins
+
** Delete CDI plugins
#* Cleaning up old build stuff
+
** Cleaning up old build stuff
#** Removing UI that is not used
+
*** Removing UI that is not used
#* Cleanup old-style projects
+
** Cleanup old-style projects
#** Our tests still use old-style and migrating them is not trivial
+
*** Our tests still use old-style and migrating them is not trivial
#* Old scanner discovery (Language setting provider)
+
** Old scanner discovery (Language setting provider)
#* What about LR parser?
+
** What about LR parser?
#** Need to follow-up with IBM
+
*** Need to follow-up with IBM
#** UPC, XLC plugins may need them, which are used by PTP
+
*** UPC, XLC plugins may need them, which are used by PTP
#** Can we move it to PTP?  
+
*** Can we move it to PTP?  
#* p2 plugin
+
** p2 plugin
#** Could it be part of p2 itself?
+
*** Could it be part of p2 itself?
#* o.e.cdt.core.native (Spawner)
+
** o.e.cdt.core.native (Spawner)
#** Used by o.e.remote but CDT uses o.e.remote => circular
+
*** Used by o.e.remote but CDT uses o.e.remote => circular
#** Spawner should be moved lower than CDT. Where?  Maybe in CDT but be independent. That stills solves 'circular' dependency..
+
*** Spawner should be moved lower than CDT. Where?  Maybe in CDT but be independent. That stills solves 'circular' dependency..
#** native should have its own pom/build
+
*** native should have its own pom/build
#* Remove IA64, QNX if not available from platform
+
** Remove IA64, QNX if not available from platform
#* Remove o.e.cdt.linuxtools.cdt.autotools.core
+
** Remove o.e.cdt.linuxtools.cdt.autotools.core
  
# Rewrite error parsers to use a better regex library (java.regex.Pattern is part of API now) because build is horribly slow from IDE strictly because of error parsers.
+
* Rewrite error parsers to use a better regex library (java.regex.Pattern is part of API now) because build is horribly slow  
# Rewrite ui for debug tabs, all current ui controls are APIs...
+
from IDE strictly because of error parsers.
# Java 1.8 changes
+
** Need to fix API
 +
** Be careful with performance
 +
 
 +
* Rewrite ui for debug tabs, all current ui controls are APIs...
 +
** Check with list if anyone is against such changes
 +
 
 +
* Java 8 changes
  
 
=== Proposed process ===
 
=== Proposed process ===

Revision as of 13:47, 9 March 2015

CDT 9.0

This page is attempt to collect possible API breaking proposals for next CDT release

Proposed API-breaking changes

  • Remove all methods, interfaces and classes that have been deprecated since around 2 years CDT 8.?.0 and are not currently used in CDT code.
    • Improves readability
    • Reduces maintenance
    • Could be contributions from a hackathon
    • Suggested rules (not mandatory): something deprecated for around 2 years and not used by CDT itself
    • Delete CDI plugins
    • Cleaning up old build stuff
      • Removing UI that is not used
    • Cleanup old-style projects
      • Our tests still use old-style and migrating them is not trivial
    • Old scanner discovery (Language setting provider)
    • What about LR parser?
      • Need to follow-up with IBM
      • UPC, XLC plugins may need them, which are used by PTP
      • Can we move it to PTP?
    • p2 plugin
      • Could it be part of p2 itself?
    • o.e.cdt.core.native (Spawner)
      • Used by o.e.remote but CDT uses o.e.remote => circular
      • Spawner should be moved lower than CDT. Where? Maybe in CDT but be independent. That stills solves 'circular' dependency..
      • native should have its own pom/build
    • Remove IA64, QNX if not available from platform
    • Remove o.e.cdt.linuxtools.cdt.autotools.core
  • Rewrite error parsers to use a better regex library (java.regex.Pattern is part of API now) because build is horribly slow

from IDE strictly because of error parsers.

    • Need to fix API
    • Be careful with performance
  • Rewrite ui for debug tabs, all current ui controls are APIs...
    • Check with list if anyone is against such changes
  • Java 8 changes

Proposed process

  1. Select an API-breaking change to work on
  2. Estimate the impact (code changes) of the change on the APIs
  3. Communicate that impact to the cdt-dev list to notify possible impacted parties

Back to the top