Jump to: navigation, search

Difference between revisions of "PDE/API Tools/Tasks"

< PDE‎ | API Tools
(38 intermediate revisions by 2 users not shown)
Line 1: Line 1:
API Tools provides a number of tasks to integrate the tooling into your releng builds.  They are available in the org.eclipse.pde.api.tools bundle.
+
== API Tooling Ant Tasks ==
  
For documentation on task parameters and results see our [http://help.eclipse.org/helios/index.jsp?nav=/4_3_0 official documentation].
+
API Tools provides a number of tasks to integrate the tooling into your releng builds.
  
== Analysis ==
+
For detailed documentation on task parameters see our [http://help.eclipse.org/index.jsp?nav=/4_3_0 official documentation].
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/analysis-ant-task.htm Official Documentation]
+
There are [[#Examples|example ant build files]] at the bottom of this page.
  
''' Analysis Report Conversion '''
+
=== Running the Tasks ===
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/analysis-reportconversion-ant-task.htm Official Documentation]
+
The ant tasks are available in the <code>org.eclipse.pde.api.tools</code> bundle.  To run the tasks from ant, the jarred code (<code>apitooling-ant.jar</code>) must be on the Ant classpath.
  
== API Freeze ==
+
If you are running the tasks from an Eclipse target workspace, you must preface the task name with <code>apitooling</code>.  When running the ant task directly, just the task name is required.  You must also modify your ant launch configuration to "Run in the same JRE as the workspace" on the JRE tab.  If the task cannot be found, you will get the following error:
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apifreeze-ant-task.htm Official Documentation]
+
<code>/target/Project/build.xml:15:<br/>
 +
Problem: failed to create task or type apideprecation<br/>
 +
Cause: The name is undefined.</code>
  
''' API Freeze Report Conversion '''
+
Several of the tasks will only run on bundles which have the API Tools nature enabled.  To check if the nature is enabled on your project, look for the following inside of the <code>.project</code> file:
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apifreeze-reportconversion-ant-task.htm Official Documentation]
+
<code>
 +
<natures><br/>
 +
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature><br/>
 +
</natures><br/>
 +
</code>
  
== API Deprecation ==
+
== Task Descriptions ==  
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/deprecation-ant-task.htm Official Documentation]
+
The task descriptions sometimes describe the '''producers''' and '''consumers''' of a reference. The '''producer''' is the bundle that contains the code that created the API or internal code that is being referenced by another product. The '''consumer''' is the bundle that contains the code that calls the API or code. As an example, org.eclipse.debug.ui is a producer of the api type Launch. A product that provides a launch configuration may extend the Launch class and is the consumer of that API.  Some tasks are intended to be run on one type of bundle.  Some bundles may both produce and consume api and can act as both in the tasks.
  
''' API Deprecation Report Conversion '''
+
=== Analysis Task ===
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/deprecation-reportconversion-ant-task.htm Official Documentation]
+
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/analysis-ant-task.htm Official Documentation]
  
== API Use ==
+
This task runs a complete API analysis of an API profile relative to a baseline - including API use, binary compatibility, and bundle version number validation. The profile is the current state of a product under development. The profile is compared to an API baseline for binary compatibility (usually the previous release of a product).
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apiuse-ant-task.htm Official Documentation]
+
The analysis does not include @since tag validation as all verification is performed on binary class files (source is not analyzed).  
  
''' API Use Report Conversion '''
+
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/analysis-reportconversion-ant-task.htm Analysis Report Conversion] - The report conversion task converts the XML reports created by the Analysis Ant task into an HTML report.
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apiuse-reportconversion-ant-task.htm Official Documentation]
+
=== API Freeze Task ===
  
== API Use Migration ==
+
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apifreeze-ant-task.htm Official Documentation]
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apimigration-ant-task.htm Official Documentation]
+
This task identifies APIs that have been added, modified, or removed relative to an API baseline. This task is intended to validate no API changes occur after an API freeze.  
  
''' API Use Migration Report Conversion '''
+
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apifreeze-reportconversion-ant-task.htm API Freeze Report Conversion] - The report conversion task converts the XML reports created by the API Freeze Ant task into an HTML report.
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apimigration-reportconversion-ant-task.htm Official Documentation]
+
=== API Deprecation Task ===
  
== File Generation ==
+
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/deprecation-ant-task.htm Official Documentation]
  
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/filegeneration-ant-task.htm Official Documentation]
+
This task runs a complete API analysis of an API profile relative to a baseline - looking only for members (classes, fields, methods) that have been deprecated / un-deprecated. The profile is the current state of a product under development. The profile is compared to an API baseline for deprecation changes (usually the previous release of a product).
 +
 
 +
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/deprecation-reportconversion-ant-task.htm API Deprecation Report Conversion] - The report conversion task converts the XML reports created by the API Deprecation Ant task into an HTML report.
 +
 
 +
=== API Use Task ===
 +
 
 +
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apiuse-ant-task.htm Official Documentation]
 +
 
 +
This task runs a complete search of a given baseline to determine a producer-centric report of API usage.
 +
 
 +
The analysis does not include bundles that are not API Tools enabled.
 +
 
 +
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apiuse-reportconversion-ant-task.htm API Use Report Conversion] - The report conversion task converts the XML reports created by the API Use Ant task into an HTML report.
 +
 
 +
Consumer API Use Report Conversion - In 3.7, a new conversion task was introduced that organizes the use scan results to more clearly display the consumers of the references (the standard report organizes by the producers).  This task runs on the same xml results as the other report task.
 +
 
 +
=== API Use Migration Task ===
 +
 
 +
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apimigration-ant-task.htm Official Documentation]
 +
 
 +
This task takes a given API use scan and tries to re-resolve it within a given candidate product release and reports any unresolved references.
 +
 
 +
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apimigration-reportconversion-ant-task.htm API Use Migration Report Conversion] - The report conversion task converts the XML reports created by the API Use Migration Ant task into an HTML report.
 +
 
 +
=== API Use Scan Problems Task ===
 +
 
 +
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apiusescan-problems-ant-task.htm Official Documentation]
 +
 
 +
This task takes a compared a previous API use scan to a given baseline and reports any use references that have been removed.  This task will warn you if you have removed fields, methods or types that are known to be used by downstream clients.
 +
 
 +
[http://help.eclipse.org/juno/topic/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/apiusescan-problems-reportconversion-ant-task.htm API Use Scan Problem Report Conversion] - The report conversion task converts the XML reports created by the API Use Scan Problem Ant task into an HTML report.
 +
 
 +
=== File Generation Task ===
 +
 
 +
This task runs to generate all files required by API Tooling inside a binary bundle. This task is run during the Eclipse builds or during the bundle export for all projects that have an API Tooling nature.
 +
 
 +
Right now, only the file called <code>.api_description</code> is created.
 +
 
 +
Projects in Eclipse that have the API Tooling nature and have the API Tooling builder enabled will have api_description files generated automatically.
 +
 
 +
[http://help.eclipse.org/index.jsp?topic=/org.eclipse.pde.doc.user/reference/api-tooling/ant-tasks/filegeneration-ant-task.htm Official Documentation]
 +
 
 +
== Examples ==
 +
 
 +
Example ant build files for the various tasks.
 +
 
 +
=== Analysis Task ===
 +
 
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<project name="project" default="default">
 +
  <property name="xml" value="/reports/analysis/xml"/>
 +
  <property name="html" value="/reports/analysis/html"/>
 +
  <property name="profile" value="/eclipse/eclipse/plugins"/>
 +
  <property name="baseline" value="/eclipse/eclipse_3.6.2/plugins"/>
 +
  <property name="prefs" value="/settings/analysis/prefs.properties"/>
 +
  <property name="filters" value="/settings/analysis/.api_filters"/>
 +
  <target name="default">
 +
    <analysis
 +
      baseline="${baseline}"
 +
      profile="${profile}"
 +
      report="${xml}"
 +
      preferences="${prefs}"
 +
      filters="${filters}"
 +
      debug="true"
 +
    />
 +
    <analysis_reportconversion
 +
    xmlfiles="${xml}"
 +
    htmlfiles="${html}"
 +
    debug="true"
 +
    />
 +
    </target>
 +
</project>
 +
</source>
 +
 
 +
=== API Freeze Task ===
 +
 
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<project name="project" default="default">
 +
  <property name="xml" value="/reports/freeze/xml"/>
 +
  <property name="html" value="/reports/freeze/html"/>
 +
  <property name="profile" value="/eclipse/eclipse/plugins"/>
 +
  <property name="baseline" value="/eclipse/eclipse_3.6.2/plugins"/>
 +
  <target name="default">
 +
    <apifreeze
 +
        baseline="${baseline}"
 +
        profile="${profile}"
 +
        report="${xml}"
 +
        debug="true"
 +
    />
 +
    <apifreeze_reportconversion
 +
    xmlfiles="${xml}"
 +
    htmlfiles="${html}"
 +
    debug="true"
 +
    />
 +
  </target>
 +
</project>
 +
</source>
 +
 
 +
=== API Deprecation Task ===
 +
 
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<project name="project" default="default">
 +
  <property name="xml" value="/reports/deprecation/xml"/>
 +
  <property name="html" value="/reports/deprecation/html"/>
 +
  <property name="profile" value="/eclipse/eclipse/plugins"/>
 +
  <property name="baseline" value="/eclipse/eclipse_3.6.2/plugins"/>
 +
  <target name="default">
 +
    <apideprecation
 +
        baseline="${baseline}"
 +
        profile="${profile}"
 +
        report="${xml}"
 +
        debug="true"
 +
    />
 +
    <apideprecation_reportconversion
 +
    xmlfiles="${xml}"
 +
    htmlfiles="${html}"
 +
    debug="true"
 +
    />
 +
    </target>
 +
</project>
 +
</source>
 +
 
 +
=== API Use Task ===
 +
 
 +
<source lang="xml">
 +
  <project name="project" default="default">
 +
  <property name="xml" value="/reports/use/xml"/>
 +
  <property name="html" value="/reports/use/html"/>
 +
  <property name="exclude.list" value="/reports/settings/exclude.txt"/>
 +
  <property name="include.list" value="/reports/settings/include.txt"/>
 +
  <property name="scope.pattern" value=".*"/>
 +
  <property name="ref.pattern" value=".*"/>
 +
  <property name="api.pattern" value="org.mybundle.package.*"/>
 +
  <property name="internal.pattern" value="org.mybundle.internal.package.*.*"/>
 +
  <target name="default">
 +
    <apiuse
 +
      considerinternal="true"
 +
      considerillegaluse="true"
 +
      excludelist="${exclude.list}"
 +
      includelist="${include.list}"
 +
      report="${xml}"
 +
      referencepattern="${ref.pattern}"
 +
      scopepattern="${scope.pattern}"
 +
      apipatterns="${api.pattern}"
 +
      internalpatterns="${internal.pattern}"
 +
      debug="true"
 +
    />
 +
    <apiuse_reportconversion
 +
    xmlfiles="${xml}"
 +
    htmlfiles="${html}"
 +
      debug="true"
 +
    />
 +
  </target>
 +
</project>
 +
</source>
 +
 
 +
=== API Use Migration Task ===
 +
 
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<project name="project" default="default">
 +
  <property name="xml" value="/reports/migration/xml"/>
 +
  <property name="html" value="/reports/migration/html"/>
 +
  <property name="exclude.list" value="/reports/settings/exclude.txt"/>
 +
  <property name="include.list" value="/reports/settings/include.txt"/>
 +
  <property name="scope.pattern" value=".*"/>
 +
  <property name="ref.pattern" value=".*"/>
 +
  <property name="scan" value="/reports/use-3.6.2/xml"/>
 +
  <property name="candidate" value="/eclipse/eclipse-3.7/plugins"/>
 +
  <target name="default">
 +
    <apimigration
 +
      excludelist="${exclude.list}"
 +
      includelist="${include.list}"
 +
      usescan="${scan}"
 +
      candidate="${candidate}"
 +
      scopepattern="${scope.pattern}"
 +
      referencepattern="${ref.pattern}"
 +
      report="${xml}"
 +
      debug="true"
 +
    />
 +
    <apimigration_reportconversion
 +
    xmlfiles="${xml}"
 +
    htmlfiles="${html}"
 +
      debug="true"
 +
    />
 +
  </target>
 +
</project>
 +
</source>
 +
 
 +
=== API Use Scan Problems Task ===
 +
 
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<project name="project" default="default">
 +
  <property name="profile" value="/eclipse/eclipse/plugins"/>
 +
  <property name="xml" value="/reports/useproblems/xml"/>
 +
  <property name="html" value="/reports/useproblems/html"/>
 +
  <property name="usescans" value="/reports/use/xml"/>
 +
  <property name="exclude.list" value="/reports/settings/exclude.txt"/>
 +
  <property name="include.list" value="/reports/settings/include.txt"/>
 +
  <target name="default">
 +
    <apiusescanproblems
 +
      excludelist="${exclude.list}"
 +
      includelist="${include.list}"
 +
      apiusescans="${usescans}"
 +
        profile="${profile}"
 +
      report="${xml}"
 +
      debug="true"
 +
    />
 +
    <apiusescanproblem_reportconversion
 +
    xmlfiles="${xml}"
 +
    htmlfiles="${html}"
 +
      debug="true"
 +
    />
 +
  </target>
 +
</project>
 +
</source>
 +
 
 +
=== File Generation Task ===
 +
 
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<project name="project" default="default">
 +
  <property name="project.name" value="api.tools.generation"/>
 +
  <property name="bin" value="/eclipse/org.eclipse.pde.api.tools/bin:/eclipse/org.eclipse.pde.api.tools/antbin"/>
 +
  <property name="src" value="/eclipse/org.eclipse.pde.api.tools/src"/>
 +
  <property name="target" value="/eclipse/plugins/org.eclipse.pde.api.tools"/>
 +
  <property name="manifests" value="/eclipse/my.bundle/MANIFEST.MF:/eclipse/my.bundle.2/MANIFEST.MF"/>
 +
  <target name="default">
 +
    <apigeneration
 +
      projectname="${project.name}"
 +
      project="${src}"
 +
      binary="${bin}"
 +
      target="${target}"
 +
      extramanifests="${manifests}"
 +
      debug="true"
 +
    />
 +
  </target>
 +
</project>
 +
</source>
  
  
 
[[Category:API]]
 
[[Category:API]]
 
[[Category:PDE]]
 
[[Category:PDE]]

Revision as of 14:00, 7 January 2013

API Tooling Ant Tasks

API Tools provides a number of tasks to integrate the tooling into your releng builds.

For detailed documentation on task parameters see our official documentation.

There are example ant build files at the bottom of this page.

Running the Tasks

The ant tasks are available in the org.eclipse.pde.api.tools bundle. To run the tasks from ant, the jarred code (apitooling-ant.jar) must be on the Ant classpath.

If you are running the tasks from an Eclipse target workspace, you must preface the task name with apitooling. When running the ant task directly, just the task name is required. You must also modify your ant launch configuration to "Run in the same JRE as the workspace" on the JRE tab. If the task cannot be found, you will get the following error:

/target/Project/build.xml:15:
Problem: failed to create task or type apideprecation
Cause: The name is undefined.

Several of the tasks will only run on bundles which have the API Tools nature enabled. To check if the nature is enabled on your project, look for the following inside of the .project file:

<natures>
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
</natures>

Task Descriptions

The task descriptions sometimes describe the producers and consumers of a reference. The producer is the bundle that contains the code that created the API or internal code that is being referenced by another product. The consumer is the bundle that contains the code that calls the API or code. As an example, org.eclipse.debug.ui is a producer of the api type Launch. A product that provides a launch configuration may extend the Launch class and is the consumer of that API. Some tasks are intended to be run on one type of bundle. Some bundles may both produce and consume api and can act as both in the tasks.

Analysis Task

Official Documentation

This task runs a complete API analysis of an API profile relative to a baseline - including API use, binary compatibility, and bundle version number validation. The profile is the current state of a product under development. The profile is compared to an API baseline for binary compatibility (usually the previous release of a product).

The analysis does not include @since tag validation as all verification is performed on binary class files (source is not analyzed).

Analysis Report Conversion - The report conversion task converts the XML reports created by the Analysis Ant task into an HTML report.

API Freeze Task

Official Documentation

This task identifies APIs that have been added, modified, or removed relative to an API baseline. This task is intended to validate no API changes occur after an API freeze.

API Freeze Report Conversion - The report conversion task converts the XML reports created by the API Freeze Ant task into an HTML report.

API Deprecation Task

Official Documentation

This task runs a complete API analysis of an API profile relative to a baseline - looking only for members (classes, fields, methods) that have been deprecated / un-deprecated. The profile is the current state of a product under development. The profile is compared to an API baseline for deprecation changes (usually the previous release of a product).

API Deprecation Report Conversion - The report conversion task converts the XML reports created by the API Deprecation Ant task into an HTML report.

API Use Task

Official Documentation

This task runs a complete search of a given baseline to determine a producer-centric report of API usage.

The analysis does not include bundles that are not API Tools enabled.

API Use Report Conversion - The report conversion task converts the XML reports created by the API Use Ant task into an HTML report.

Consumer API Use Report Conversion - In 3.7, a new conversion task was introduced that organizes the use scan results to more clearly display the consumers of the references (the standard report organizes by the producers). This task runs on the same xml results as the other report task.

API Use Migration Task

Official Documentation

This task takes a given API use scan and tries to re-resolve it within a given candidate product release and reports any unresolved references.

API Use Migration Report Conversion - The report conversion task converts the XML reports created by the API Use Migration Ant task into an HTML report.

API Use Scan Problems Task

Official Documentation

This task takes a compared a previous API use scan to a given baseline and reports any use references that have been removed. This task will warn you if you have removed fields, methods or types that are known to be used by downstream clients.

API Use Scan Problem Report Conversion - The report conversion task converts the XML reports created by the API Use Scan Problem Ant task into an HTML report.

File Generation Task

This task runs to generate all files required by API Tooling inside a binary bundle. This task is run during the Eclipse builds or during the bundle export for all projects that have an API Tooling nature.

Right now, only the file called .api_description is created.

Projects in Eclipse that have the API Tooling nature and have the API Tooling builder enabled will have api_description files generated automatically.

Official Documentation

Examples

Example ant build files for the various tasks.

Analysis Task

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">
  <property name="xml" value="/reports/analysis/xml"/>
  <property name="html" value="/reports/analysis/html"/>
  <property name="profile" value="/eclipse/eclipse/plugins"/>
  <property name="baseline" value="/eclipse/eclipse_3.6.2/plugins"/>
  <property name="prefs" value="/settings/analysis/prefs.properties"/>
  <property name="filters" value="/settings/analysis/.api_filters"/>
  <target name="default">
    <analysis
       	baseline="${baseline}"
       	profile="${profile}"
       	report="${xml}"
       	preferences="${prefs}"
       	filters="${filters}"
       	debug="true"
    />
    <analysis_reportconversion
    	xmlfiles="${xml}"
    	htmlfiles="${html}"
    	debug="true"
    />
    </target>
</project>

API Freeze Task

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">
  <property name="xml" value="/reports/freeze/xml"/>
  <property name="html" value="/reports/freeze/html"/>
  <property name="profile" value="/eclipse/eclipse/plugins"/>
  <property name="baseline" value="/eclipse/eclipse_3.6.2/plugins"/>
  <target name="default">
    <apifreeze
        baseline="${baseline}"
        profile="${profile}"
        report="${xml}"
        debug="true"
    />
    <apifreeze_reportconversion
    	xmlfiles="${xml}"
    	htmlfiles="${html}"
    	debug="true"
    />
  </target>
</project>

API Deprecation Task

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">
  <property name="xml" value="/reports/deprecation/xml"/>
  <property name="html" value="/reports/deprecation/html"/>
  <property name="profile" value="/eclipse/eclipse/plugins"/>
  <property name="baseline" value="/eclipse/eclipse_3.6.2/plugins"/>
  <target name="default">
    <apideprecation
        baseline="${baseline}"
        profile="${profile}"
        report="${xml}"
        debug="true"
    />
    <apideprecation_reportconversion
    	xmlfiles="${xml}"
    	htmlfiles="${html}"
    	debug="true"
    />
    </target>
</project>

API Use Task

  <project name="project" default="default">
  <property name="xml" value="/reports/use/xml"/>
  <property name="html" value="/reports/use/html"/>
  <property name="exclude.list" value="/reports/settings/exclude.txt"/>
  <property name="include.list" value="/reports/settings/include.txt"/>
  <property name="scope.pattern" value=".*"/>
  <property name="ref.pattern" value=".*"/>
  <property name="api.pattern" value="org.mybundle.package.*"/>
  <property name="internal.pattern" value="org.mybundle.internal.package.*.*"/>
  <target name="default">
    <apiuse
       	considerinternal="true"
       	considerillegaluse="true"
       	excludelist="${exclude.list}"
       	includelist="${include.list}"
       	report="${xml}"
       	referencepattern="${ref.pattern}"
       	scopepattern="${scope.pattern}"
       	apipatterns="${api.pattern}"
       	internalpatterns="${internal.pattern}"
       	debug="true"
    />
    <apiuse_reportconversion
    	xmlfiles="${xml}"
    	htmlfiles="${html}"
       	debug="true"
    />
  </target>
</project>

API Use Migration Task

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">
  <property name="xml" value="/reports/migration/xml"/>
  <property name="html" value="/reports/migration/html"/>
  <property name="exclude.list" value="/reports/settings/exclude.txt"/>
  <property name="include.list" value="/reports/settings/include.txt"/>
  <property name="scope.pattern" value=".*"/>
  <property name="ref.pattern" value=".*"/>
  <property name="scan" value="/reports/use-3.6.2/xml"/>
  <property name="candidate" value="/eclipse/eclipse-3.7/plugins"/>
  <target name="default">
    <apimigration
       	excludelist="${exclude.list}"
      	includelist="${include.list}"
       	usescan="${scan}"
       	candidate="${candidate}"
       	scopepattern="${scope.pattern}"
       	referencepattern="${ref.pattern}"
       	report="${xml}"
       	debug="true"
    />
    <apimigration_reportconversion
    	xmlfiles="${xml}"
    	htmlfiles="${html}"
       	debug="true"
    />
  </target>
</project>

API Use Scan Problems Task

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">
  <property name="profile" value="/eclipse/eclipse/plugins"/>
  <property name="xml" value="/reports/useproblems/xml"/>
  <property name="html" value="/reports/useproblems/html"/>
  <property name="usescans" value="/reports/use/xml"/>
  <property name="exclude.list" value="/reports/settings/exclude.txt"/>
  <property name="include.list" value="/reports/settings/include.txt"/>
  <target name="default">
    <apiusescanproblems
       	excludelist="${exclude.list}"
      	includelist="${include.list}"
       	apiusescans="${usescans}"
        profile="${profile}"
       	report="${xml}"
       	debug="true"
    />
    <apiusescanproblem_reportconversion
    	xmlfiles="${xml}"
    	htmlfiles="${html}"
       	debug="true"
    />
  </target>
</project>

File Generation Task

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">
  <property name="project.name" value="api.tools.generation"/>
  <property name="bin" value="/eclipse/org.eclipse.pde.api.tools/bin:/eclipse/org.eclipse.pde.api.tools/antbin"/>
  <property name="src" value="/eclipse/org.eclipse.pde.api.tools/src"/>
  <property name="target" value="/eclipse/plugins/org.eclipse.pde.api.tools"/>
  <property name="manifests" value="/eclipse/my.bundle/MANIFEST.MF:/eclipse/my.bundle.2/MANIFEST.MF"/>
  <target name="default">
    <apigeneration
       	projectname="${project.name}"
       	project="${src}"
       	binary="${bin}"
       	target="${target}"
       	extramanifests="${manifests}"
       	debug="true"
    />
  </target>
</project>