blob: ae30ef40e09ffd01b8bacbec1b8ef2dc590e9917 [file]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2009, 2010. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" href="../../../apache_style.css" type="text/css">
<title>API Use Migration Ant Task</title>
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"> </script>
</head>
<body>
<h1> API Use Migration Ant Task </h1>
<h2>Purpose</h2>
<p>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.</p>
<h2>Usage</h2>
<h3>Description</h3>
<p>The name of the Ant task is: <code>apitooling.apimigration</code>. To be used, the jar file <code>apitooling-ant.jar</code> has to be on the Ant
classpath.</p>
<pre>
<b><font color="#0000ff">&lt;apitooling.apimigration
candidate=<font color="#008000">"..."</font>
usescan=<font color="#008000">"..."</font>
scopepattern=<font color="#008000">"..."</font>
referencepattern=<font color="#008000">"..."</font>
report=<font color="#008000">"..."</font>
debug=<font color="#008000">"..."</font>
/&gt;</font></b>
</pre>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">candidate</td>
<td valign="top">This attribute specifies the product you want to use as the migration candidate.
<p>
It can be a .zip, .jar, .tgz, .tar.gz file, or a directory that corresponds to
the Eclipse installation folder. This is the directory is which you can find the
Eclipse executable.
</p>
</td>
<td align="center" valign="top">Yes</td>
</tr>
<tr>
<td valign="top">usescan</td>
<td valign="top">This attribute specifies the product use scan you want to compare to the migration candidate.
<br><br>
The usescan is specified using an absolute path to the root of the use scan.
</td>
<td align="center" valign="top">Yes</td>
</tr>
<tr>
<td valign="top">scopepattern</td>
<td valign="top">
This attribute specifies the regular expression pattern used to build the scope of elements to search for
references from in the product location.
<br><br>
The pattern must be a well-formatted regular expression as
defined <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html">here</a>.
</td>
<td align="center" valign="top">No</td>
</tr>
<tr>
<td valign="top">referencepattern</td>
<td valign="top">
Set the regular expression pattern used to build the scope of elements to search for
references to in the product location.
<br><br>
The pattern must be a well-formatted regular expression as
defined <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html">here</a>.
</td>
<td align="center" valign="top">No</td>
</tr>
<tr>
<td valign="top">report</td>
<td valign="top">Set the output location where the reports will be generated.
<br><br>
Once the task is completed, reports are available in this directory using a hierarchical structure. A sub-folder is created
for each component that has another bundle that references it. Each sub-folder contains a file called "[bundlename].xml". Within
this folder is another sub-folder (named "[referencing bundle name].xml") for each bundle that references the bundle of the containing folder.
Inside the referencing bundle folder is one of three sub-folders (API, PRIVATE or OTHER) which contain type, method or field references of that kind.
<br><br>
Two other special files are written into the report directory, which are "not_searched.xml" and "no_apidescription.xml" and they contain
information about bundles from the baseline that were not search for usage information and those that did not have an .api_description files in them, respectively.
<br><br>
The location is specified using an absolute path.
<br><br>
For example:
<pre>
root
|
+-- "not_searched.xml"
+-- "no_apidescription.xml"
+-- bundle name with usage
|
+--referencing bundle name
|
+-- [API or PRIVATE or OTHER]
|
+--[type_ or method_ or field_]references.xml
</pre>
</td>
<td align="center" valign="top">Yes</td>
</tr>
<tr>
<td valign="top">debug</td>
<td valign="top">Set the debug value.
<br><br>The possible values are: <code>true</code>, <code>false</code>
<br>Default is <code>false</code>.</td>
<td align="center" valign="top">No</td>
</tr>
</table>
<h3>Examples</h3>
<pre>
<b><font color="#0000ff">&lt;apitooling.apimigration
candidate=<font color="#008000">"/eclipse/sdk3.5"</font>
usescan=<font color="#008000">"/eclipse/scans/sdk3.4"</font>
scopepattern=<font color="#008000">".*"</font>
referencepattern=<font color="#008000">"org\.eclipse.*"</font>
report=<font color="#008000">"/eclipse/apimigration/xml"</font>
debug=<font color="#008000">"true"</font>
/&gt;</font></b>
</pre>
<p>This will run the task creating <code>*.xml</code> files inside the folder <code>/eclipse/apimigration/xml</code>.
The task will re-resolve all references in the <code>usescan</code> location - defined by the regular expression <code>.*</code> - against
the candidate product whose identifier begins with org.eclipse (defined by the <code>org\.eclipse.*</code> regular expression).</p>
<p>If debug is enabled, some debug tracing will show up in the Ant console.</p>
<p><img src="../../../images/ngrelr.png" alt="Related reference" border="0"></p>
<p><a href="apifreeze-ant-task.htm">API Freeze Ant Task</a>
<br><a href="filegeneration-ant-task.htm">File Generation Ant Task</a>
<br><a href="analysis-reportconversion-ant-task.htm">Analysis Report Conversion Ant Task</a>
<br><a href="apifreeze-reportconversion-ant-task.htm">API Freeze Report Conversion Ant Task</a>
<br><a href="deprecation-ant-task.htm">API Deprecation Ant Task</a>
<br><a href="deprecation-reportconversion-ant-task.htm">API Deprecation Report Conversion Ant Task</a>
<br><a href="apiuse-reportconversion-ant-task.htm">API Use Report Conversion Ant Task</a>
<br><a href="apimigration-reportconversion-ant-task.htm">API Use Migration Report Conversion Ant Task</a>
</p>
</body>
</html>