1 / 6

API Tooling

API Tooling. An API is a contract. API usage is the key for long-term maintenance of software. Detection of potential breakage can help to prevent delays in SDK adoption. Different levels of exposure: API, SPI and internal code. Terminology. API: they are defined by the bundle manifest

dyanne
Download Presentation

API Tooling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. API Tooling • An API is a contract. • API usage is the key for long-term maintenance of software. • Detection of potential breakage can help to prevent delays in SDK adoption. • Different levels of exposure: API, SPI and internal code. Equinox Summit 2007

  2. Terminology • API: they are defined by the bundle manifest • SPI: limited to a reduced number of clients. Clients are aware that they are subject to change. • Internal code: Should never be used. • Speaking with WAS and WTP people, it seems that these definitions need some flexibility. Equinox Summit 2007

  3. Use cases • Backward compatibility: Detect changes that are not backward compatible ASAP • Global references: who’s using my code and what am I using • Version management: Make sure that the versioning scheme is respected according to the changes applied to a code base http://wiki.eclipse.org/PDE_UI_Incubator_ApiTools#Usecases Equinox Summit 2007

  4. Source Snapshots OSGi bundle Eclipse product Java JAR Update site Filesystem Database API definition Queries Manifest.mf Javadoc tags Rules files Annotations Reports Reports Reports Equinox Summit 2007

  5. Existing PDE Api Tool Control structure Collect Source API Snapshot Source NEW API Snapshot Control structure Compare OLDAPI Snapshot + Comparator XML Report HTML Report Equinox Summit 2007

  6. Existing tools • Diff tool made by Jed Anderson • PDE API tools prototype made by Oleg • AUS (tool available on alphaworks) • Open-source tool for jar comparison: http://sab39.netreach.com/Software/Japitools/42/ (GPL) • WTP tool (component.xml ?) • JDiff (used by TPTP): http://www.jdiff.org/ Equinox Summit 2007

More Related