Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "ApiTools Milestones"
(20 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
** Support Javadoc tags at member level [[Image:Ok green.gif|done]] | ** Support Javadoc tags at member level [[Image:Ok green.gif|done]] | ||
** Provide action to convert existing component.xml file into javadoc tags [[Image:Ok green.gif|done]] | ** Provide action to convert existing component.xml file into javadoc tags [[Image:Ok green.gif|done]] | ||
− | * Binary compatibility [[Image: | + | * Binary compatibility [[Image:Ok green.gif|done]] |
− | + | ||
** 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 [[Image:Ok green.gif|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 [[Image:Ok green.gif|done]] | ||
− | * API Usage [[Image: | + | * API Usage [[Image:Ok green.gif|done]] |
** Configure reference extractor to extract only specific reference kinds [[Image:Ok green.gif|done]] | ** Configure reference extractor to extract only specific reference kinds [[Image:Ok green.gif|done]] | ||
** Preference page to select API usage baseline [not needed - same as target platform] [[Image:Ok green.gif|done]] | ** Preference page to select API usage baseline [not needed - same as target platform] [[Image:Ok green.gif|done]] | ||
Line 22: | Line 21: | ||
<h4>Priority Two</h4> | <h4>Priority Two</h4> | ||
− | * Binary compatibility [[Image:progress.gif|in progress]] | + | * 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 | ** 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]] | ** 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]] | ** Incremental binary compatibility checking in IDE [[Image:Ok green.gif|done]] | ||
* API Usage [[Image:progress.gif|in progress]] | * 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 | ||
** Incremental API usage scans in IDE (for illegal extending, implementing, and instantiating) [[Image:Ok green.gif|done]] | ** Incremental API usage scans in IDE (for illegal extending, implementing, and instantiating) [[Image:Ok green.gif|done]] | ||
Line 36: | 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 [[Image:Ok green.gif|done]] | ** Follow code graduation review process [[Image:Ok green.gif|done]] | ||
** Create new plug-ins in the SDK with committers from the incubation project [[Image:Ok green.gif|done]] | ** 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[[Image:Ok green.gif|done]] | ** 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 [[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 [[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 | ||
Line 49: | Line 50: | ||
** 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) [[Image:Ok green.gif|done]] | ** 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.[[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.[[Image:Ok green.gif|done]] | ||
* Java 5.0 Support | * Java 5.0 Support | ||
Line 62: | 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
Contents
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
- Export API components from command line and IDE
- Binary compatibility
- API Usage
Priority Two
3.4 Milestone 5 (Friday February 8, 2008 )
Priority One
- Graduate code to the Eclipse SDK
- Add API description metadata to automated builds
- Binary Compatibility
- Version Management
- API Problem Filtering
- Builder
- 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
- 'Better' updating workspace api profile
- Integration with the build process
- API problem filtering
- Api setup wizard polish
- Baseline wizard polish
- Performance
Priority Two
- Testsuite
- 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
- 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