Difference between revisions of "PDE/API Tools"

From Eclipsepedia

< PDE
Jump to: navigation, search
m
Line 17: Line 17:
  
 
API tooling was released to the Eclipse SDK in the PDE project during the [http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_4.html Eclipse 3.4] release. Our milestone development timeline corresponds to that of the Eclipse SDK (currently in the 3.6 stream). All planned items (and wishes) can be found on our [[PDE/Plan/3.6#API Tools|3.6 plan]] page.
 
API tooling was released to the Eclipse SDK in the PDE project during the [http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_4.html Eclipse 3.4] release. Our milestone development timeline corresponds to that of the Eclipse SDK (currently in the 3.6 stream). All planned items (and wishes) can be found on our [[PDE/Plan/3.6#API Tools|3.6 plan]] page.
 
= Getting Started  =
 
 
==== Getting the Source Code ====
 
 
The source code for this implementation is available from the '''dev.eclipse.org''' CVS server in the '''/cvsroot/eclipse''' respository. You need to check out three projects from '''HEAD'''. There is a team project set file to assist you with this.
 
 
#Add the CVS server to your repositories view (:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse).
 
#Expand the server and "HEAD" elements in the tree.
 
#Check out the the '''/org.eclipse.pde.api.tools.doc''' project.
 
#In your Package Explorer, select the '''projectSet.psf''' file (for extssh access) or '''pserverProjectSet.psf''' file (for pserver access) in the root folder of the "/org.eclipse.pde.api.tools.doc project".
 
#Select '''File &gt; Import'''. On the first page of the import wizard select '''Team &gt; Team Project Set''' and press "Next".
 
#On the second page of the wizard, the "org.eclipse.pde.api.tools.releng\projectSet.psf" should already be specified as the file to import. If not, choose it. Press "Finish".
 
#When asked for a user name and password although you chose the '''pserverProjectSet.psf''', just enter '''anonymous''' as user name and leave the password field empty.
 
 
The PDE API Tools projects and tests will be added to your workspace.
 
 
==== Bugs and Enhancement Requests ====
 
 
The API tooling project uses [https://bugs.eclipse.org/bugs/ Bugzilla] for tracking bugs and enhancement requests. [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Eclipse&product=PDE&component=API+Tools&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Active API tooling bugs] can be found with this query. All bugs should be filed in with the '''Eclipse''' project, '''PDE''' product, under the '''API Tools''' component.
 
 
= Testing =
 
 
Manual testing must be done for all aspects of API tooling. To help with what should be tested (and what is the expected result) you can refer to the  [http://www.eclipse.org/pde/pde-api-tools/test_plans/test_plans.php API tools test plan] page.
 
 
==== Running the JUnit Tests ====
 
 
The JUnit tests run as standard JUnit tests (it can also run as JUnit plug-in tests). However, the tests require one mandatory VM argument:
 
 
-DrequiredBundles=<path to directory containing standard Eclipse plug-ins>
 
 
The required bundles are used as a pool when resolving required bundles for test bundles in the suite.
 
 
The tests can be run individually, or you can run them all from the APIToolsTestSuite class.
 
  
 
= Links =
 
= Links =

Revision as of 13:07, 26 August 2009

API Tools
Website
Download
Community
Mailing ListForumsIRC
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse Source

Contents

Introduction

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.
  • Leverage existing information (in MANIFEST.MF) to define the visibility of packages between bundles.
  • Identify usage of non-API code between plug-ins.
  • Identity leakage of non-API types into API.
  • Identify usage of code from a JRE outside the bounds of the one specified in the bundle configuration (MANIFEST.MF).

Present state

API tooling was released to the Eclipse SDK in the PDE project during the Eclipse 3.4 release. Our milestone development timeline corresponds to that of the Eclipse SDK (currently in the 3.6 stream). All planned items (and wishes) can be found on our 3.6 plan page.

Links

API Tooling Architecture - High level description of the tooling's architecture

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

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.