Difference between revisions of "PDE UI Incubator ApiTools Compare"

From Eclipsepedia

Jump to: navigation, search
(What is it for?)
(What's a repository?)
Line 49: Line 49:
 
== What's a repository? ==
 
== What's a repository? ==
  
Repository is a place where the tool stores API snapshots. At present only type of repository supported is a folder on the file system. The location of the folder should be specified in the "Repository" tab:
+
Repository is a place where the tool stores API snapshots. At present the only type of repository supported is a folder on the file system. The location of the folder should be specified in the "Repository" tab:
  
 
[[Image:ApiToolsRepository.JPG|center]]
 
[[Image:ApiToolsRepository.JPG|center]]

Revision as of 17:58, 2 February 2007

API Comparison Tool

Contents

What is it for?

The tool compares APIs exposed by two versions of your product. It reports changes that might break backward compatibility and provides a list of backward-compatible modifications.

Reports are produced as XML and HTML files. Here is the sample report showing APIs modified in a way that might break backward compatibility:

ApiToolsBreakageReport.JPG

and here is the sample report on backward compatible API changes:

ApiToolsCompatibleReport.JPG

What’s an API?

Good question. For starters here are some links; more information will be added later to this section.

Evolving Java-based APIs - What is considered an API in Eclipse

How to Use the Eclipse API - APIs in Eclipse from consumer's view point

Binary Compatibility - The Java Language Specification

API Javadoc tags - Potential way to work with "soft" rules used in Eclipse

How does the tool work?

The tool contains two operations: create an API snapshot and compare the code against API snapshot.

Both operations can be accessed via menus or run in a batch mode.

The dialog to create API snapshot looks like this:

ApiToolsCollect.JPG

And the dialog to compare code with the API snapshot looks like this:

ApiToolsCompare.JPG

Batch processing

The tool can be used in the batch mode. The command line is:

ApiTools { -create | -compare } -control <control_file_name>

Control file is an XML file that specifies repository location, location of the input or output, and a few options. Those files can be created from UI dialogs using "Export" commands.

What's a repository?

Repository is a place where the tool stores API snapshots. At present the only type of repository supported is a folder on the file system. The location of the folder should be specified in the "Repository" tab:

ApiToolsRepository.JPG

Do I need to specify something else?

For comparison, report location should be specified on the "Report" tab:

ApiToolsReport.JPG

This is the folder where XML and HTML reports will be placed by the tool.

While not a requirement, check the options tab:

ApiToolsOptions.JPG


Getting the Pieces

Source code is stored in the PDE incubator (:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse) in the HEAD/pde-incubator/api-tooling/plugins.

There are two plug-ins:

  • org.eclipse.pde.api.tools
  • org.eclipse.pde.api.tools.ui

The Eclipse 3.3M4 or later should be used to compile those plug-ins.

Resources

Eclipse Bugzilla - Eclipse bug tracking database.

PDE Incubator - New projects that might be incorporated into PDE in future.

PDE UI Home Page - The main PDE UI web site.