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"

Line 6: Line 6:
  
 
* Finalize Javadoc tags and code comments [in progress]
 
* Finalize Javadoc tags and code comments [in progress]
** 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 [in progress]  
** 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
 
** Command line tool for batch compare produces XML file for binary incompatibilities [move to priority 2]
 
** 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 [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 [done]
+
** Create markers in the workspace for binary incompatibilities between workspace and baseline [[Image:Ok green.gif|done]]
 
* API Usage
 
* API Usage
 
** Configure reference extractor to extract only specific reference kinds
 
** Configure reference extractor to extract only specific reference kinds
 
** Command line tool to create XML file for illegal extending, implementing, and instantiating [move to priority 2]
 
** Command line tool to create XML file for illegal extending, implementing, and instantiating [move to priority 2]
 
** Preference page to select API usage baseline [not needed - same as target platform]  
 
** 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]
+
** Create markers in the workspace for illegal API use based on API usage baseline [[Image:Ok green.gif|done]]
  
 
<h4>Priority Two</h4>
 
<h4>Priority Two</h4>

Revision as of 11:10, 24 January 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 [in progress]
    • Extensible Javadoc tags done
    • Support for extensible Javdoc tags in headless mode done
  • Export API components from command line and IDE [in progress]
    • Support Javadoc tags at member level done
    • Provide action to convert existing component.xml file into javadoc tags done
  • Binary compatibility
    • 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 done
    • Create markers in the workspace for binary incompatibilities between workspace and baseline done
  • API Usage
    • Configure reference extractor to extract only specific reference kinds
    • Command line tool to create XML file for illegal extending, implementing, and instantiating [move to priority 2]
    • 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

Priority Two

  • Binary compatibility
    • 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 binary compatibility checking in IDE [in progress]
  • API Usage
    • 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 )

Priority One

  • Graduate code to the Eclipse SDK
    • Follow code graduation review process
    • Create new plug-ins in the SDK with committers from the incubation project
    • Rename packages such that all code is 'internal' - i.e. no published API planned for first release
  • Add API description metadata to automated builds
    • 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
  • Binary Compatibility
    • 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
    • Offer quick fix to correct plug-in version number
    • Create problem markers for missing @since tags done
    • Offer quick fix to add correct @since tags done
  • API Problem Filtering
    • Allow users to filter/hide API problems (for example, approved API breakage)
  • Builder
    • 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.
  • 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.

Back to the top