# API Freeze Ant Task

## Purpose

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.

## Usage

### Description

The name of the ant task is: `apitooling.apifreeze`. To be used, the jar file `apitooling-ant.jar` has to be on the ant classpath.

    <apitooling.apifreeze
    	baseline="..."
    	profile="..."
    	report="..."
    	excludelist="..."
    	debug="..."
    	eefile="..."
    />

### Parameters

Attribute | Description | Required
baseline | This attribute specifies the location of the reference baseline. 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. The location is specified using an absolute path. | Yes
profile | This attribute specifies the location of the current product or profile that you want to compare against the reference baseline. 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. The location is specified using an absolute path. | Yes
report | Set the name of the report file to be generated. It should be specified using an absolute path. | Yes

excludelist

Set the exclude list location.
The exclude list is used to know what bundles should excluded from the xml report generated by the task execution.
The location is specified using an absolute path.
Lines starting with '#' are ignored from the excluded element.
The format of the exclude file looks like this:

    # 207144
    org.eclipse.ui.workbench_3.4.0:org.eclipse.ui.ISharedImages#IMG_DEC_FIELD_ERROR
    org.eclipse.ui.workbench_3.4.0:org.eclipse.ui.ISharedImages#IMG_DEC_FIELD_WARNING
    org.eclipse.ui.workbench_3.4.0:org.eclipse.ui.ISharedImages#IMG_ELCL_COLLAPSEALL
    ...

No

debug | Set the debug value. The possible values are: `true`, `false` Default is `false`. | No
eefile | Set the execution environment file to use. By default, an execution environment file corresponding to a JavaSE-1.6 execution environment is used. The format of the file is described in this wiki page. The file is specified using an absolute path. | No

### Examples

    	<apitooling.apifreeze
    		baseline="D:\eclipse\3.4.1\eclipse"
    		profile="D:\eclipse-SDK-I20081118-0800-linux-gtk.tar.gz"
    		report="D:\report\report.xml"
    		excludelist="D:\exclude_list.txt"
    		debug="true"
    	/>

This will run the task creating `report.xml` inside the folder `D:\report`. It will use the exclude list `D:\exclude_list_external.txt` to reduce the number of problems to report.

Since debug is enabled, some debug tracing will show up in the ant console.

API Tools Analysis Ant Task
API Tools File Generation Ant Task
API Tools API Use Ant Task
API Tools Pluggable API Use Ant Task
API Tools Analysis Report Conversion Ant Task
API Tools API Freeze Report Conversion Ant Task
API Tools API Use Report Conversion Ant Task