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 CDT 8.2.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
Line 11: Line 11:
 
#* Delete CDI plugins
 
#* Delete CDI plugins
 
#* Cleaning up old build stuff
 
#* Cleaning up old build stuff
#* Cleanup old-style project
+
#** Removing UI that is not used
 +
#* 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)
# Rewrite error parsers to use a better regex library (java.regex.Pattern is part of API now) because build is horribly slow from IDE stricltly because of error parsers.
+
#* 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.
 
# Rewrite ui for debug tabs, all current ui controls are APIs...
 
# Rewrite ui for debug tabs, all current ui controls are APIs...
# Switch to java 1.8
+
# Java 1.8 changes
# Extract CDI so that it does not have to be installed by default
+
  
 
=== Proposed process ===
 
=== Proposed process ===

Revision as of 13:39, 9 March 2015

CDT 9.0

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

Proposed API-breaking changes

  1. 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
  1. 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.
  2. Rewrite ui for debug tabs, all current ui controls are APIs...
  3. Java 1.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