PDE/API Tools/Architecture

From Eclipsepedia

< PDE‎ | API Tools
Revision as of 15:33, 26 October 2007 by Darin Wright.ca.ibm.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Goals

API tooling will assist developers in API maintenance by reporting API defects such as binary incompatibilities, incorrect plug-in version numbers, missing or incorrect @since tags, and usage of non-API code between plug-ins. The tooling will be integrated in the Eclipse SDK and will be used in the automated build process. Specifically, the tooling is designed to do the following:

  • Identify binary compatibility issues between two versions of a software component or product.
  • Update version numbers for plug-ins (bundles) based on the Eclipse versioning scheme.
  • Update @since tags for newly added classes, interfaces, methods, etc.
  • Provide new javadoc tags and code assist to annotate types with special restrictions:
    • @nosubclass - This class is not intended to be subclassed.
    • @noinstantiate - This class is not intended to be instantiated.
    • @noimplement - This interface is not intended to be implemented by clients.
    • @noreference - This type is not intended to be referenced by clients.
  • Leverage existing information (in MANIFEST.MF) to define the visibility of packages between bundles.
  • Identify usage of non-API code between plug-ins.

Architecture