Combined JDT Text and JDT UI 3.6 Plan

Combined JDT Text and JDT UI Component 3.6 Plan

Last revised $Date: 2010/03/05 15:53:26 $

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.6 for the JDT Text and the JDT UI component as listed on the Eclipse Project 3.6 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] Platform Support. Add support for Java 7 and make sure we run on Windows 7.

[5] Technology Trends. Add support for JUnit 4.7.


Work Items

This section lists the possible work items for Eclipse 3.6 for the JDT Text and the JDT UI component with the [corresponding theme]. Some of those items have a higher priority than others.

  • [> 3.6] Java 7 [4]

    Work for JSR308 which is publicly available is in progress in JDT Core. For the JSR292, JSR294 and project Coin we need to wait for publicly available specifications. This probably means that Java 7 support won't be completely done for the 3.6 release. We might be able to get all we need in time for 3.6.1.

    Note: In order to align our schedule with the delayed official Java 7 appearance and due to lack of publicly available specifications (including lack of a Java 7 JSR), we have decided to move the development work to a separate branch and decouple it from the 3.6 release. In that branch we will continue to develop the Java 7 features as they become publicly accessible. We will deliver separate updates for the official builds in order to provide early access to Java 7 features.
  • Windows 7 Support [4]

    • test pass on Windows 7 Dani: 1w
    • fix bugs that arise during test pass Dani: 1w
  • Adopt New Platform Features [3]

    • make sure that we run on the e4 compatibility layer 2w
      • test our bundles against it
      • help to investigate and fix bugs in the compatibility layer
  • API [2]

    • provide a way for RefactoringWizardOpenOperation/RefactoringWizard to use a specified IRunnableContext (bug 283427) Markus
    • provide container name for JUnit container (bug 161566) Markus
  • Refactoring [3]

    • new refactoring: move type to new file (bug 43277) Raksha: 3d
    • new refactoring: convert instance method to static (bug 118032) Raksha: 2w
    • decide on strategy to handle visibility errors after refactorings (and implement it correctly): Markus: 2w
      • Increase visibility (with info/warning message)?
      • add delegation if possible (with info/warning message)?
      • offer possibility to "fix" warning on error page?
  • Usability [3]

    • 'Open Implementation' should also be available as command Raksha: 2d
    • Allow to export all clean up and formatter profiles from preference page (bug 48966) Raksha: 2d
    • provide link to clean up in enhanced problem hover (bug 218595) Raksha: 2w
    • [>3.6] provide a trim to show number of error/warnings1w
      • needs to be discussed with UI team first
        → this would bind too much resources from Platform UI and hence not for 3.6
    • BiDi support for input fields/combos (related bugs, depends on SWT bug 230854) 6w
  • Java Search [3]

    • [>3.6] search for text in attached source (bug 247503, depends on JDT Core bug 199994)
      → will be solved via text search participant support (bug 23341)
      → JDT Core tried to support to find constant references in .class files with attached source (bug 12044) but deferred this from 3.5
  • Call Hierarchy [3]

    • allow to remove nodes from view (bug 41702) Raksha: 2d
  • Type Hierarchy [3]

    • compute hierarchy in background (bug 30881) Raksha: 3d
  • JUnit [5]

    • update JUnit 4 to 4.7 (bug 272418, CQ 3480) Markus: 1d
    • separate UI from non-UI code (bug 278844) external contribution + Markus: 1d
    • help to make JUnit 4 available as 'org.junit' bundle in Orbit (bug 186369 and bug 153429)
  • Content Assist [3]

    • context information: show parameters should show parameters for all overloaded methods (bug 58719) Dani: 2d
    • fix constructor completion bugs Dani: 3d
    • indicate match in proposal list (similar to Ctrl+3)
  • Code Visualization [3]

    • show horizontal line between methods (bug 13672) Raksha or Deepak: 1w
    • visualize code nesting (bug 69455) Raksha or Prakash: 2w
      → could be implemented as semantic highlighting
    • [misc] draw vertical lines in control flow statements (bug 84878)
  • Quick views [3]

    • allow to open quick views from any Java element from any view (e.g. from the Package Explorer or Outline view) (bug 285411) Raksha or Prakash: 2d
  • Javadoc view and sticky Javadoc hover [3]

    • show Java annotations (bug 236850) Markus: 2d
  • Performance And Memory Consumption [1]

    • constantly watch performance test results and act when red
    • continue to provide new tests
  • Miscellaneous

    • adopt NodeFinder API (bug 250944) Markus: 1d
    • add hyperlinking for the @inheritDoc tag Raksha: 2d
    • structured selection should support brackets (bug 86835) Markus
  • General Items

    • 3.5.x maintenance work 2w
    • look at bugs with patches and review those


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
  • Platform Compare
      TBD
  • Platform UI
      TBD
  • JDT Core (3.6 plan)
    • Java 7 features; detailed bugs TBD
  • JDT Debug
      TBD
Milestone M1 (2009-08-07)
See also the Platform Text 3.6 M1 Plan.

General Items

  • [3.6 M2] 3.5.1 maintenance work 1w
  • 3.6 planning 1d

Call Hierarchy [3]

  • allow to remove nodes from view (bug 41702) Raksha: 2d

JUnit [5]

  • [3.6 M2] update JUnit 4 to 4.7 (bug 272418, CQ 3437) Markus: 1d
    → filed CQ

Usability [3]

  • 'Open Implementation' should also be available as command Raksha: 2d
  • Allow to export all clean up and formatter profiles from preference page (bug 48966) Raksha: 2d

Permanent Items

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

Testing

Milestone M2 (2009-09-18)
See also the Platform Text 3.6 M2 Plan.

General Items

  • 3.5.1 maintenance work 1w

JUnit [5]

  • separate UI from non-UI code (bug 278844) external contribution + Markus: 1d
  • [3.6 M3] update JUnit 4 to 4.7 (bug 272418, CQ 3437) Markus: 1d

Type Hierarchy [3]

  • [3.6 M3] compute hierarchy in background (bug 30881) Raksha: 3d

Miscellaneous

  • adopt NodeFinder API (bug 250944) Markus: 1d

Permanent Items

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

Testing

Milestone M3 (2009-10-30)
See also the Platform Text 3.6 M3 Plan.

General Items

  • [3.6 M4] 3.5.2 maintenance work 1w

JUnit [5]

  • update JUnit 4 to 4.7 (bug 272418, CQ 3437) Markus: 1d
  • [3.6 M4] help to make JUnit 4 available as 'org.junit' bundle in Orbit (bug 186369 and bug 153429)

Type Hierarchy [3]

  • [3.6 M4] compute hierarchy in background (bug 30881) Raksha: 1d

Windows 7 Support [4]

  • test pass on Windows 7 Dani: 1w
  • fix bugs that arise during test pass Dani: 1w

Permanent Items

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

Testing

Milestone M4 (2009-12-11)
See also the Platform Text 3.6 M4 Plan.

General Items

  • [3.6 M5] 3.5.2 maintenance work 1w

JUnit [5]

  • help to make JUnit 4 available as 'org.junit' bundle in Orbit (bug 186369 and bug 153429)

Type Hierarchy [3]

  • compute hierarchy in background (bug 30881) Raksha: 1d

Content Assist [3]

  • [>3.6 M4] context information: show parameters should show parameters for all overloaded methods (bug 58719) Dani: 2d

Javadoc view and sticky Javadoc hover [3]

  • [>3.6 M4] show Java annotations (bug 236850) Markus: 2d

Refactoring [3]

  • [>3.6 M4] new refactoring: move type to new file (bug 43277) Raksha: 3d

Usability [3]

  • provide link to clean up in enhanced problem hover (bug 218595) Raksha: 2w

Permanent Items

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

Testing

Milestone M5 (2010-01-29) - Major/Big Features Done
See also the Platform Text 3.6 M5 Plan.

General Items

  • 3.5.2 maintenance work 1w
  • 3.5.2 one day test pass (test plan)

Content Assist [3]

  • context information: show parameters should show parameters for all overloaded methods (bug 58719) Dani: 2d

Javadoc view and sticky Javadoc hover [3]

  • [>3.6 M5] show Java annotations (bug 236850) Markus: 2d

Refactoring [3]

  • [>3.6 M5] new refactoring: move type to new file (bug 43277) Raksha: 3d

Permanent Items

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

Testing

Milestone M6 (2010-03-12) - API Freeze
See also the Platform Text 3.6 M6 Plan.

Javadoc view and sticky Javadoc hover [3]

  • show Java annotations (bug 236850) Markus: 2d

Refactoring [3]

  • new refactoring: move type to new file (bug 43277) Raksha: 3d

API [2]

  • provide a way for RefactoringWizardOpenOperation/RefactoringWizard to use a specified IRunnableContext (bug 283427) Markus
  • provide container name for JUnit container (bug 161566) Markus

Permanent Items

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

Testing

Milestone M7 (2010-04-30) - Feature Freeze, Focus on Performance and Polish
See also the Platform Text 3.6 M7 Plan.

Performance 0.5m

Work on bugs tagged with the 'performance' keyword.

Polish 0.5m

Fix all bugs tagged with the 'polish' keyword.

Adopt New Platform Features [3]

  • make sure that we run on the e4 compatibility layer 2w
    NOTE: Depends on the availability of the compatibility layer.
    • test our bundles against it
    • help to investigate and fix bugs in the compatibility layer

Content Assist [3]

  • fix constructor completion bugs Dani: 3d

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