Combined JDT Text and JDT UI 3.8 Plan

Combined JDT Text and JDT UI Component 3.8 Plan

Last revised $Date: 2012/08/06 12:20:36 $

This plan is under continuous refinement. Please send comments about this plan to the jdt-ui-dev@eclipse.org developer mailing list.

Note: This plan depends on the Platform Text Plan.

Overall Goals

This section lists the goals for Eclipse 3.8 for the JDT Text and the JDT UI component as listed on the Eclipse Project 3.8 Draft Plan.

[1] Scaling Up. Monitor overall performance and memory consumption which includes the addition of new performance tests for new features.

[2] Design for Extensibility. Provide APIs for clients where needed.

[3] Ease of Use. Make sure we run on the e4 compatibility layer and deliver new productivity features like TBD.

[4] Technology Trends. Add support for Java 7. Start to work on Java 8 support.


Work Items

This section lists the possible work items for Eclipse 3.8 for the JDT Text and the JDT UI component with the [corresponding theme]. Some of those items have a higher priority than others. Work items that are annotated with [component name] are delivered for another component.

  • Java 7 [4]

    • finish the work on Java 7 support 20 weeks
    • backport the Java 7 support to 3.7.1 6 weeks
    • [> 3.8] add clean ups to convert multiple catch blocks to a single multi-catch block and vice versa (bug 351179) Deepak: 1 week
  • Java 8 [4]

    • [> 3.8] start to work on Java 8 features 40 weeks
  • Adopt New Platform Features [3]

    • none at this point
  • API [2]

    • provide a way to implement refactorings that depend on resources that have to be explicitly released (bug 347599) Markus
    • add enablement to Java completion proposal category extension point (patch) (bug 345213) Dani
    • add extended listener support for Code Completion Interfaces (patch) (bug 350409) Dani
    • make ASTRewriteCorrectionProposal and parents public API (bug 287136) Deepak
  • Refactoring [3]

    • [> 3.8] new refactoring: convert instance method to static (bug 118032) 2 weeks
    • [> 3.8] decide on strategy to handle visibility errors after refactorings (and implement it correctly): Markus: 2 weeks
      • Increase visibility (with info/warning message)?
      • add delegation if possible (with info/warning message)?
      • offer possibility to "fix" warning on error page?
    • [> 3.8] permanent local rename mode [experimental]
      • editing always updates like "Local Rename" (automatically enter linked mode)
      • investigate interplay with "refactoring only" mode
  • Usability [3]

    • [> 3.8] BiDi support for input fields/combos (related bugs, depends on SWT bug 230854) all: 20 weeks
    • [> 3.8] improve BiDi support for complex static expressions: adopt new TextProcessor replacement (depends on SWT bug 183164) 6 weeks
    • [> 3.8] create a problem if a new project specific setting is introduced (bug 300523) 1 week
    • allow to associate an editor to class files which have no source (bug 360642) Dani: 2 weeks
    • add Quick Assists to synchronize Java properties file and corresponding message class (bug 358384) Deepak: 2 weeks
    • [> 3.8] need better choice for syntax color in high contrast mode (bug 224741) 1 week
    • angle brackets wrongly auto-closed when starting at the beginning of a line (bug 347734) Deepak: 1 day
    • allow to use annotations for null checking (bug 186342) Markus: 2 weeks
    • support to ignore warnings from certain source folders (bug 220928) Markus: 3 days
    • CamelCase pattern matching in quick outline and quick hierarchy (bug 106228) Markus
    • add quick fixes and quick assist for null annotations support (bug 337977) Markus: 1 week
    • make it easier to setup null analysis (bug 366014) Markus: 1 week
  • Call Hierarchy [3]

    • [> 3.8] document positions not updated for call locations (bug 121900)
  • Type Hierarchy [3]

      TBD
  • JUnit [4]

    • update JUnit to its latest version (bug 356065) Markus: 2 weeks
  • Content Assist [3]

    • [> 3.8] remove '>' on backspace when type arguments inserted by content assist (bug 301990) Dani: 2 days
  • Code Visualization [3]

    • better matching bracket support Deepak: 4 weeks
      • provide a hover (bug 184056)
      • show the corresponding bracket in the ruler (bug 358347)

      • → did not look good; decided to mark as WONTFIX
      • highlight both matching brackets (bug 27372)
      • matching bracket (Ctrl+Shift+P) should work anywhere in the file (bug 40580)
    • [> 3.8] show horizontal line between methods (bug 13672) 1 week
    • [> 3.8] visualize code nesting (bug 69455) 2 weeks
      → could be implemented as semantic highlighting
    • [> 3.8] [misc] draw vertical lines in control flow statements (bug 84878)
  • Quick views [3]

    • [> 3.8] allow to open quick views from any Java element from any view (e.g. from the Package Explorer or Outline view) (bug 285411) 2 days
  • Performance And Memory Consumption [1]

    • allow to contribute the index for binary package fragment roots (bug 364287) Deepak: 2 days
    • constantly watch performance test results and act when red 5 weeks
    • continue to provide new tests 1 week
  • Miscellaneous

    • migration to Git all: 3 weeks in total
    • [> 3.8] structured selection should support brackets (bug 86835) ???
    • [> 3.8] replace Intro Samples Page with p2 based page 2 weeks
    • new warning for missing try-with-resources (bug 349326) Deepak: 4 days (review and UI)
  • General Items

    • 3.8 planning 1 week
    • resolve bugs that got deferred from 3.7 to 3.8 all
    • 3.7.1 maintenance work 3 weeks
    • 3.7.2 maintenance work 3 weeks
    • look at bugs with patches and review those 4 weeks
    • EclipseCon Europe (preparation and attendance) Markus: 1 week


Cross Team Issues

This section contains cross team issues that have to be clarified. The concrete outcome affects the plan items listed above.

  • SWT
    • bug 230854 needs to be fixed in order to provide BiDi support for input fields/combos
    • bug 183164 needs to be fixed in order to provide improved BiDi support for complex static expressions
  • Platform Compare
      TBD
  • Platform UI
      TBD
  • JDT Core
    • allow to use annotations for null checking (bug 186342)
    • allow to contribute the index for binary package fragment roots (bug 356620)
    • new warning for missing try-with-resources (bug 349326)
  • JDT Debug
      TBD
Milestone M1 (2011-08-05)
See also the Platform Text 3.8 M1 Plan.

Java 7 [4]

General Items

  • [3.8 M2] 3.8 planning 2 days

Permanent Items

  • bugzilla inbox tracking
  • bug fixing
  • watch performance tests
  • increase correctness test coverage

Testing

Milestone M2 (2011-09-16)
See also the Platform Text 3.8 M2 Plan.

Miscellaneous

  • prepare Git migration all: 3 weeks in total
  • adopt Git repositories all: 1 day in total

General Items

  • 3.8 planning 3 days
  • [3.8 M3] resolve bugs that got deferred from 3.7 to 3.8 all
  • 3.7.1 maintenance work 3 weeks

Permanent Items

  • bugzilla inbox tracking
  • bug fixing
  • watch performance tests
  • increase correctness test coverage

Testing

Milestone M3 (2011-10-28)
See also the Platform Text 3.8 M3 Plan.

General Items

  • [3.8 M4] 3.7.2 maintenance work 1 week
  • [3.8 M4] resolve bugs that got deferred from 3.7 to 3.8 all

API [2]

  • provide a way to implement refactorings that depend on resources that have to be explicitly released (bug 347599) Markus

Usability [3]

  • allow to associate an editor to class files which have no source (bug 360642) Dani: 2 weeks
  • add Quick Assists to synchronize Java properties file and corresponding message class (bug 358384) Deepak: 2 weeks
  • angle brackets wrongly auto-closed when starting at the beginning of a line (bug 347734) Deepak: 1 day

Miscellaneous

  • new warning for missing try-with-resources (bug 349326) Deepak: 4 days (review and UI)

Permanent Items

  • bugzilla inbox tracking
  • bug fixing
  • watch performance tests
  • increase correctness test coverage

Testing

Milestone M4 (2011-12-09)
See also the Platform Text 3.8 M4 Plan.

General Items

  • [3.8 M5] resolve bugs that got deferred from 3.7 to 3.8 all
  • [3.8 M5] 3.7.2 maintenance work 1 week
  • EclipseCon Europe (preparation and attendance) Markus: 1 week

Usability [3]

  • allow to use annotations for null checking (bug 186342) Markus: 2 weeks

Code Visualization [3]

  • [3.8 M5] better matching bracket support Raksha: 4 weeks
    • provide a hover (bug 184056)
    • show the corresponding bracket in the ruler (bug 358347)

Performance And Memory Consumption [1]

  • [3.8 M5] allow to contribute the index for binary package fragment roots (bug 364287) Deepak: 2 days

Permanent Items

  • bugzilla inbox tracking
  • bug fixing
  • watch performance tests
  • increase correctness test coverage

Testing

Milestone M5 (2012-01-27) - Major/Big Features Done
See also the Platform Text 3.8 M5 Plan.

General Items

  • [3.8 M6] 3.7.2 maintenance work 1 week
  • [3.8 M6] look at bugs with patches and review those Dani: 2 weeks

Java 7 [4]

  • [> 3.8] add clean ups to convert multiple catch blocks to a single multi-catch block and vice versa (bug 351179) Deepak: 1 week

API [2]

  • add enablement to Java completion proposal category extension point (patch) (bug 345213) Dani

Usability [3]

  • [> 3.8] need better choice for syntax color in high contrast mode (bug 224741) 1 week
  • [> 3.8 M5] add quick fixes and quick assist for null annotations support (bug 337977) Markus: 1 week
  • [> 3.8 M5] make it easier to setup null analysis (bug 366014) Markus: 1 week
  • polish preference UI for null annotations (bug 366013) Markus: 1 day
  • add highlight for inherited fields (has patch) (bug 348368) Dani: 1 day

Code Visualization [3]

  • [3.8 M6] better matching bracket support Raksha: 4 weeks
    • provide a hover (bug 184056)
    • show the corresponding bracket in the ruler (bug 358347)
    • highlight both matching brackets (bug 27372)
    • matching bracket (Ctrl+Shift+P) should work anywhere in the file (bug 40580)

Performance And Memory Consumption [1]

  • allow to contribute the index for binary package fragment roots (bug 364287) Deepak: 2 days

Permanent Items

  • bugzilla inbox tracking
  • bug fixing
  • watch performance tests
  • increase correctness test coverage

Testing

Milestone M6 (2012-03-16) - API Freeze
See also the Platform Text 3.8 M6 Plan.

General Items

  • 3.7.2 maintenance work 1 week
  • look at bugs with patches and review those Dani: 2 weeks

API [2]

  • add extended listener support for Code Completion Interfaces (patch) (bug 350409) Dani
  • make ASTRewriteCorrectionProposal and parents public API (bug 287136) Deepak

Usability [3]

  • [> 3.8 M6] add quick fixes and quick assist for null annotations support (bug 337977) Markus: 1 week
  • [> 3.8 M6] make it easier to setup null analysis (bug 366014) Markus: 1 week
  • support to ignore warnings from certain source folders (bug 220928) Markus: 3 days
  • [> 3.8 M6] BiDi support for complex static expressions: review new TextProcessor replacement (depends on SWT bug 183164) 1 week
  • CamelCase pattern matching in quick outline and quick hierarchy (bug 106228) Markus

JUnit [4]

  • [3.8 M7] update JUnit to its latest version (bug 356065) Markus: 1 week
    → filed CQ

Code Visualization [3]

  • better matching bracket support Deepak: 4 weeks
    • [> 3.8 M6] provide a hover (bug 184056)
    • show the corresponding bracket in the ruler (bug 358347)
      → did not look good; decided to mark as WONTFIX
    • highlight both matching brackets (bug 27372)
    • matching bracket (Ctrl+Shift+P) should work anywhere in the file (bug 40580)

Permanent Items

  • bugzilla inbox tracking
  • bug fixing
  • watch performance tests
  • increase correctness test coverage

Testing

Milestone M7 (2012-05-04) - Feature Freeze, Focus on Performance and Polish
See also the Platform Text 3.8 M7 Plan.

Content Assist [3]

  • [> 3.8] remove '>' on backspace when type arguments inserted by content assist (bug 301990) Dani: 2 days

Usability [3]

  • add quick fixes and quick assist for null annotations support (bug 337977) Markus: 1 week
  • make it easier to setup null analysis (bug 366014) Markus: 1 week
  • [> 3.8] BiDi support for complex static expressions: review new TextProcessor replacement (depends on SWT bug 183164) 1 week
  • add highlight for inherited fields (has patch) (bug 348368) Dani: 1 day

JUnit [4]

  • update JUnit to its latest version (bug 356065) Markus: 1 week

Code Visualization [3]

  • better matching bracket support
    • provide a hover (bug 184056)Deepak: 1 week

Performance Deepak: 2 weeks

Work on bugs tagged with the 'performance' keyword.

Polish all: ½ week each

Fix all bugs tagged with the 'polish' keyword.

Permanent Items

  • bugzilla inbox tracking
  • bug fixing
  • watch performance tests
  • increase correctness test coverage

Testing

Bug Tracking
Legend
item is under development. item is under investigation.
item is finished. ( ) item is time permitted.
[xyz] item is deferred (>) from xyz or continues in xyz. new