ApiTools Milestones

From Eclipsepedia

Jump to: navigation, search

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 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