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 "ApiTools Milestones"

 
(31 intermediate revisions by 3 users not shown)
Line 5: Line 5:
 
<h4>Priority One</h4>
 
<h4>Priority One</h4>
  
* Finalize Javadoc tags and code comments [in progress]
+
* Finalize Javadoc tags and code comments [[Image:Ok green.gif|done]]
** Extensible Javadoc tags [done]
+
** Extensible Javadoc tags [[Image:Ok green.gif|done]]
** Support for extensible Javdoc tags in headless mode [done]
+
** Support for extensible Javdoc tags in headless mode [[Image:Ok green.gif|done]]
* Export API components from command line and IDE [in progress]  
+
* Export API components from command line and IDE [[Image:Ok green.gif|done]]
** Support Javadoc tags at member level [done]
+
** Support Javadoc tags at member level [[Image:Ok green.gif|done]]
** Provide action to convert existing component.xml file into javadoc tags [done]  
+
** Provide action to convert existing component.xml file into javadoc tags [[Image:Ok green.gif|done]]
* Binary compatibility
+
* Binary compatibility [[Image:Ok green.gif|done]]
** Command line tool for batch compare produces XML file for binary incompatibilities [move to priority 2]
+
** Preference page to define API profiles and select workspace API compatibility baseline [[Image:Ok green.gif|done]]
** Preference page to define API profiles and select workspace API compatibility baseline [done]
+
** Create markers in the workspace for binary incompatibilities between workspace and baseline [[Image:Ok green.gif|done]]
** Create markers in the workspace for binary incompatibilities between workspace and baseline [done]
+
* API Usage [[Image:Ok green.gif|done]]
* API Usage
+
** Configure reference extractor to extract only specific reference kinds [[Image:Ok green.gif|done]]
** Configure reference extractor to extract only specific reference kinds
+
** Preference page to select API usage baseline [not needed - same as target platform] [[Image:Ok green.gif|done]]
** Command line tool to create XML file for illegal extending, implementing, and instantiating [move to priority 2]
+
** Create markers in the workspace for illegal API use based on API usage baseline [[Image:Ok green.gif|done]]
** Preference page to select API usage baseline [not needed - same as target platform]  
+
** Create markers in the workspace for illegal API use based on API usage baseline [done]
+
  
 
<h4>Priority Two</h4>
 
<h4>Priority Two</h4>
  
* Binary compatibility
+
* Binary compatibility [[Image:progress.gif|in progress]]
 +
** Command line tool for batch compare produces XML file for binary incompatibilities
 +
** Provide XSLT file to create HTML report from XML output
 +
** Batch report and IDE markers for missing @since tags and incorrect plug-in version numbers [[Image:Ok green.gif|done]]
 +
** Incremental binary compatibility checking in IDE [[Image:Ok green.gif|done]]
 +
* API Usage [[Image:progress.gif|in progress]]
 +
** Command line tool to create XML file for illegal extending, implementing, and instantiating
 
** Provide XSLT file to create HTML report from XML output
 
** Provide XSLT file to create HTML report from XML output
** Batch report and IDE markers for missing @since tags and incorrect plug-in version numbers
+
** Incremental API usage scans in IDE (for illegal extending, implementing, and instantiating) [[Image:Ok green.gif|done]]
** Incremental binary compatibility checking in IDE [in progress]
+
* Implementation of plug-in project API component [[Image:Ok green.gif|done]]
* API Usage
+
** Updates API description and class files dynamically with edits in the workspace [[Image:progress.gif|in progress]]
** Provide XSLT file to create HTML report from XML output
+
** Incremental API usage scans in IDE (for illegal extending, implementing, and instantiating) [in progress]
+
* Implementation of plug-in project API component [in progress]
+
** Updates API description and class files dynamically with edits in the workspace
+
  
 
== 3.4 Milestone 5 (Friday February 8, 2008 ) ==
 
== 3.4 Milestone 5 (Friday February 8, 2008 ) ==
Line 37: Line 37:
 
<h4>Priority One</h4>
 
<h4>Priority One</h4>
  
* Graduate code to the Eclipse SDK
+
* Graduate code to the Eclipse SDK [[Image:Ok green.gif|done]]
** Follow code graduation review process
+
** Follow code graduation review process [[Image:Ok green.gif|done]]
** Create new plug-ins in the SDK with committers from the incubation project
+
** Create new plug-ins in the SDK with committers from the incubation project [[Image:Ok green.gif|done]]
** Rename packages such that all code is 'internal' - i.e. no published API planned for first release
+
** Rename packages such that all code is 'internal' - i.e. no published API planned for first release[[Image:Ok green.gif|done]]
* Add API description metadata to automated builds
+
* Add API description metadata to automated builds [[Image:Ok green.gif|done]]
** Enhance automated builds to generate .api_description files to be included with each binary bundle such that a build can be used as an API profile
+
** Enhance automated builds to generate .api_description files to be included with each binary bundle such that a build can be used as an API profile [[Image:Ok green.gif|done]]
* Binary Compatibility
+
* Binary Compatibility [[Image:Ok green.gif|done]]
 
** Problem specific error message for each kind of binary incompatibility [[Image:Ok green.gif|done]]
 
** Problem specific error message for each kind of binary incompatibility [[Image:Ok green.gif|done]]
 
* Version Management
 
* Version Management
** Create problem markers for plug-ins with invalid version number with respect to API baseline
+
** Create problem markers for plug-ins with invalid version number with respect to API baseline [[Image:Ok green.gif|done]]
** Offer quick fix to correct plug-in version number
+
** Offer quick fix to correct plug-in version number [[Image:progress.gif|in progress]]
 
** Create problem markers for missing @since tags [[Image:Ok green.gif|done]]
 
** Create problem markers for missing @since tags [[Image:Ok green.gif|done]]
 
** Offer quick fix to add correct @since tags [[Image:Ok green.gif|done]]
 
** Offer quick fix to add correct @since tags [[Image:Ok green.gif|done]]
* API Problem Filtering
+
* API Problem Filtering [[Image:Ok green.gif|done]]
** Allow users to filter/hide API problems (for example, approved API breakage)
+
** Allow users to filter/hide API problems (for example, approved API breakage) [[Image:Ok green.gif|done]]
* Builder
+
* Builder [[Image:Ok green.gif|done]]
** Re-analyze dependant bundles when API description of prerequisite changes. For example, when a @noimplement tag is added/removed to an interface, all bundles that are dependant must be re-analyzed for potential illegal use of the interface.
+
** Re-analyze dependant bundles when API description of prerequisite changes. For example, when a @noimplement tag is added/removed to an interface, all bundles that are dependant must be re-analyzed for potential illegal use of the interface.[[Image:Ok green.gif|done]]
 
* Java 5.0 Support
 
* Java 5.0 Support
 
** Properly support reference extraction for Java 5.0 signatures
 
** Properly support reference extraction for Java 5.0 signatures
Line 63: Line 63:
 
* Version Management
 
* Version Management
 
** Validate required bundle compatibility in terms of API use. When provided with several versions of a required bundle, determine the minimal compatible version. Help developers determine where required bundle version ranges are too restrictive.
 
** Validate required bundle compatibility in terms of API use. When provided with several versions of a required bundle, determine the minimal compatible version. Help developers determine where required bundle version ranges are too restrictive.
 +
 +
== 3.4 Milestone 6 (Friday March 28, 2008 ) ==
 +
 +
<h4>Priority One</h4>
 +
* Bundle fragment support [[Image:Ok green.gif|done]]
 +
* 'Better' updating workspace api profile [[Image:Ok green.gif|done]]
 +
** Timestamps to detect changes instead of forced listeners [[Image:Ok green.gif|done]]
 +
* Integration with the build process
 +
** Api descriptions in build (available in binary plugin downloads).
 +
*** Ant task is ready [[Image:Ok green.gif|done]]
 +
*** Integration in Eclipse build deferred post M6
 +
* API problem filtering
 +
** Re-work problem implementation to be like IProblem [[Image:Ok green.gif|done]]
 +
** Centralize problem description/severity setting in a problem manager [[Image:Ok green.gif|done]]
 +
** Create problem filters from quick fix [[Image:Ok green.gif|done]]
 +
* Api setup wizard polish [[Image:Ok green.gif|done]]
 +
** present as refactorings [[Image:Ok green.gif|done]]
 +
* Baseline wizard polish [[Image:Ok green.gif|done]]
 +
* Performance [[Image:progress.gif|in progress]]
 +
** Stress test incremental builder [[Image:progress.gif|in progress]]
 +
** Profile incremental builder [[Image:progress.gif|in progress]]
 +
** Stress test api usage and binary compatibility checking [[Image:progress.gif|in progress]]
 +
** Stress test workspace api component updating/creation [[Image:progress.gif|in progress]]
 +
** Profile workspace component
 +
 +
<h4>Priority Two</h4>
 +
 +
* Testsuite
 +
** For builder (similar to java builder) [[Image:Ok green.gif|done]]
 +
** For workspace profile update verification
 +
* Integration with the build process
 +
** Report generation from builds
 +
* API problem filtering
 +
** Allow users to create problem filters from properties page
 +
 +
== 3.4 Milestone 7 (Friday May 2, 2008 ) ==
 +
 +
<h4>Priority One</h4>
 +
* Releng Build Integration
 +
** Inject metadata into the build
 +
*** API descriptions [[Image:Ok green.gif|done]]
 +
*** API filters
 +
** Produce reports
 +
*** Compatibility and API usage problems
 +
*** API freeze reports (i.e. flag any API changes) [[Image:Ok green.gif|done]]
 +
* Test suite
 +
** Incremental builder test suite
 +
** More tests for Java 5
 +
* Performance
 +
** Performance analysis
 +
** Performance test suite
 +
* Bug fixing
 +
* User documentation
 +
* Encourage adoption by SDK teams

Latest revision as of 12:02, 22 April 2008

3.4 Milestone 4 (December 14th, 2007)

API tooling will reside in the incubator project. The plug-ins can be exported and dropped into an Eclipse SDK. Works items marked as Priority One are must haves, while Priority Two items are nice to have that may slide to the next milestone.

Priority One

  • Finalize Javadoc tags and code comments done
    • Extensible Javadoc tags done
    • Support for extensible Javdoc tags in headless mode done
  • Export API components from command line and IDE done
    • Support Javadoc tags at member level done
    • Provide action to convert existing component.xml file into javadoc tags done
  • Binary compatibility done
    • Preference page to define API profiles and select workspace API compatibility baseline done
    • Create markers in the workspace for binary incompatibilities between workspace and baseline done
  • API Usage done
    • Configure reference extractor to extract only specific reference kinds done
    • Preference page to select API usage baseline [not needed - same as target platform] done
    • Create markers in the workspace for illegal API use based on API usage baseline done

Priority Two

  • Binary compatibility in progress
    • Command line tool for batch compare produces XML file for binary incompatibilities
    • Provide XSLT file to create HTML report from XML output
    • Batch report and IDE markers for missing @since tags and incorrect plug-in version numbers done
    • Incremental binary compatibility checking in IDE done
  • API Usage in progress
    • Command line tool to create XML file for illegal extending, implementing, and instantiating
    • Provide XSLT file to create HTML report from XML output
    • Incremental API usage scans in IDE (for illegal extending, implementing, and instantiating) done
  • Implementation of plug-in project API component done
    • Updates API description and class files dynamically with edits in the workspace in progress

3.4 Milestone 5 (Friday February 8, 2008 )

Priority One

  • Graduate code to the Eclipse SDK done
    • Follow code graduation review process done
    • Create new plug-ins in the SDK with committers from the incubation project done
    • Rename packages such that all code is 'internal' - i.e. no published API planned for first releasedone
  • Add API description metadata to automated builds done
    • Enhance automated builds to generate .api_description files to be included with each binary bundle such that a build can be used as an API profile done
  • Binary Compatibility done
    • Problem specific error message for each kind of binary incompatibility done
  • Version Management
    • Create problem markers for plug-ins with invalid version number with respect to API baseline done
    • Offer quick fix to correct plug-in version number in progress
    • Create problem markers for missing @since tags done
    • Offer quick fix to add correct @since tags done
  • API Problem Filtering done
    • Allow users to filter/hide API problems (for example, approved API breakage) done
  • Builder done
    • Re-analyze dependant bundles when API description of prerequisite changes. For example, when a @noimplement tag is added/removed to an interface, all bundles that are dependant must be re-analyzed for potential illegal use of the interface.done
  • Java 5.0 Support
    • Properly support reference extraction for Java 5.0 signatures

Priority Two

  • API Searching
    • Investigate and define API searching. Should it be similar to Java searching in the workspace (i.e. search a profile for use of a bundle, package, type, method, etc.), or something else? Will we need source in order to browse search results?
  • Version Management
    • Validate required bundle compatibility in terms of API use. When provided with several versions of a required bundle, determine the minimal compatible version. Help developers determine where required bundle version ranges are too restrictive.

3.4 Milestone 6 (Friday March 28, 2008 )

Priority One

  • Bundle fragment support done
  • 'Better' updating workspace api profile done
    • Timestamps to detect changes instead of forced listeners done
  • Integration with the build process
    • Api descriptions in build (available in binary plugin downloads).
      • Ant task is ready done
      • Integration in Eclipse build deferred post M6
  • API problem filtering
    • Re-work problem implementation to be like IProblem done
    • Centralize problem description/severity setting in a problem manager done
    • Create problem filters from quick fix done
  • Api setup wizard polish done
    • present as refactorings done
  • Baseline wizard polish done
  • Performance in progress
    • Stress test incremental builder in progress
    • Profile incremental builder in progress
    • Stress test api usage and binary compatibility checking in progress
    • Stress test workspace api component updating/creation in progress
    • Profile workspace component

Priority Two

  • Testsuite
    • For builder (similar to java builder) done
    • For workspace profile update verification
  • Integration with the build process
    • Report generation from builds
  • API problem filtering
    • Allow users to create problem filters from properties page

3.4 Milestone 7 (Friday May 2, 2008 )

Priority One

  • Releng Build Integration
    • Inject metadata into the build
      • API descriptions done
      • API filters
    • Produce reports
      • Compatibility and API usage problems
      • API freeze reports (i.e. flag any API changes) done
  • Test suite
    • Incremental builder test suite
    • More tests for Java 5
  • Performance
    • Performance analysis
    • Performance test suite
  • Bug fixing
  • User documentation
  • Encourage adoption by SDK teams

Back to the top