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

ApiTools Milestones

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