blob: 5359d9624eb678016d53f6052f079fae375070c4 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta name="copyright" content=
"Copyright (c) IBM Corporation and others 2008, 2013. 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=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" href="../../../apache_style.css" type=
"text/css" />
<title>
API Tools File Generation Ant Task
</title>
<script language="JavaScript" src=
"PLUGINS_ROOT/org.eclipse.help/livehelp.js" type=
"text/javascript">
</script>
</head>
<body>
<h1>
API Tools File Generation Ant Task
</h1>
<h2>
Purpose
</h2>
<p>
This task runs to generate all files required by API Tools
inside a binary bundle. This task is run during the Eclipse
builds or during the bundle export for all projects that have
an API Tools nature.
</p>
<p>
Right now, only the file called <code>.api_description</code>
is created.
</p>
<h2>
Usage
</h2>
<h3>
Description
</h3>
<p>
The name of the Ant task is:
<code>apitooling.apigeneration</code>. To be used, the jar
file <code>apitooling-ant.jar</code> has to be on the Ant
classpath.
</p>
<div class="c4">
<pre class="c3">
<b><span class="c2">&lt;apitooling.apigeneration
projectname=<span class="c1">"..."</span>
project=<span class="c1">"..."</span>
binary=<span class="c1">"..."</span>
target=<span class="c1">"..."</span>
encoding=<span class="c1">"..."</span>
debug=<span class="c1">"..."</span>
/&gt;</span></b>
</pre>
</div>
<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">
projectname
</td>
<td valign="top">
Set the project name
</td>
<td align="center" valign="top">
Yes
</td>
</tr>
<tr>
<td valign="top">
project
</td>
<td valign="top">
Set the project location.<br />
<br />
This is the folder that contains all the source files for
the given project.<br />
<br />
The location is set using an absolute path.
</td>
<td align="center" valign="top">
Yes
</td>
</tr>
<tr>
<td valign="top">
binary
</td>
<td valign="top">
Set the binary locations.<br />
<br />
This is a list of folders or jar files that contain all
the .class files for the given project. They are
separated by the platform path separator. Each entry must
exist.<br />
<br />
They should be specified using absolute paths.
</td>
<td align="center" valign="top">
Yes
</td>
</tr>
<tr>
<td valign="top">
target
</td>
<td valign="top">
Set the target location.<br />
<br />
This is the folder in which the generated files are
generated.<br />
<br />
The location is set using an absolute path.
</td>
<td align="center" valign="top">
Yes
</td>
</tr>
<tr>
<td valign="top">
encoding
</td>
<td valign="top">
Set the file encoding.<br />
<br />
This is the file encoding to use while reading source files during the generation. If an encoding is not
specified the system property <code>file.encoding</code> will be used.<br />
<br />
The specified encoding is not checked to ensure it is valid in any way and an invalid encoding will cause
an <code>UnsupportedEncodingException</code> to be thrown from the Ant task.
</td>
<td align="center" valign="top">
No
</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>
<tr>
<td valign="top">
extramanifests
</td>
<td valign="top">
Set the extra manifest files' locations.<br />
<br />
This is a list of extra MANIFEST.MF files' locations that
can be set to provide more api packages to scan. They are
separated by the platform path separator. Each entry must
exist.<br />
<br />
If the path is not absolute, it will be resolved relative
to the current working directory.<br />
<br />
Jar files can be specified instead of MANIFEST.MF file.
If a jar file is specified, its MANIFEST.MF file will be
read if it exists.
</td>
<td align="center" valign="top">
No
</td>
</tr>
<tr>
<td valign="top">
extrasourcelocations
</td>
<td valign="top">
Set the extra source locations.<br />
<br />
This is a list of locations for source files that will be
scanned. They are separated by the platform path
separator. Each entry must exist.<br />
<br />
They should be specified using absolute paths.
</td>
<td align="center" valign="top">
No
</td>
</tr>
<tr>
<td valign="top">
allownonapiproject
</td>
<td valign="top">
Allow the task to run on non-API Tools enabled
projects.<br />
<br />
If this task is run on a project that does not have an
API Tools nature, no api_description file will be
generated as it is assumed that the project does not
support API Tools. In some cases there is a need to
generate the description file on projects without the
nature. Setting this parameter to true will cause the
task to not check for a nature.
</td>
<td align="center" valign="top">
No
</td>
</tr>
</table>
<h3>
Examples
</h3>
<pre>
<b><span class="c2">&lt;apitooling.apigeneration
projectname=<span class="c1">"org.eclipse.jdt.core_3.5.0.v_927"</span>
project=<span class="c1">"d:\eclipse\org.eclipse.jdt.core"</span>
binary=<span class="c1">"d:\eclipse\org.eclipse.jdt.core\bin;d:\eclipse\org.eclipse.jdt.core\antbin"</span>
target=<span class="c1">"d:\plugins\org.eclipse.jdt.core"</span>
encoding=<span class="c1">"UTF-8"</span>
allownonapiproject=<span class="c1">"true"</span>
debug=<span class="c1">"true"</span>
/&gt;</span></b>
</pre>
<p>
This will create a file called <code>.api_description</code>
inside the folder
<code>d:\plugins\org.eclipse.jdt.core</code> based on the
source contained in
<code>d:\eclipse\org.eclipse.jdt.core</code> and the .class
files contained in
<code>d:\eclipse\org.eclipse.jdt.core\bin</code>.
</p>
<h3 class="related">Related references</h3>
<a href="analysis-ant-task.htm">Analysis Ant Task</a><br />
<a href="apifreeze-ant-task.htm">API Freeze Ant
Task</a><br />
<a href="apiuse-ant-task.htm">API Use 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>
</body>
</html>