Esta tarea ejecuta un análisis de API completo de un perfil de API relativo a una línea base, incluyendo la utilización de API, la compatibilidad binaria y la validación del número de versión de paquete. El perfil es el estado actual de un producto bajo desarrollo. El perfil se compara con una línea base de API para la compatibilidad binaria (normalmente, el release anterior de un producto).
El análisis no incluye la validación del código @since ya que toda la verificación se realiza en archivos de clase binarios (el origen no se analiza).
El nombre de la tarea Ant es: apitooling.analysis. Para utilizarla, el archivo jar
apitooling-ant.jar debe estar en la vía de acceso de clases Ant.
<apitooling.analysis baseline="..." profile="..." report="..." filters="..." excludelist="..." includelist="..." preferences="..." debug="..." eefile="..." processunresolvedbundles="..." />
| Atributo | Descripción | Necesario |
| baseline | Este atributo especifica la ubicación de la línea base de referencia.
Puede ser un archivo .zip, .jar, .tgz, .tar.gz o un directorio correspondiente a la carpeta de instalación de Eclipse. Se trata del directorio en el que puede encontrar el ejecutable de Eclipse. La ubicación se especifica mediante una vía de acceso absoluta. |
Sí |
| profile | Este atributo especifica la ubicación del producto o perfil actual que desea comparar con la línea
base de referencia.
Puede ser un archivo .zip, .jar, .tgz, .tar.gz o un directorio correspondiente a la carpeta de instalación de Eclipse. Se trata del directorio en el que puede encontrar el ejecutable de Eclipse. La ubicación se especifica mediante una vía de acceso absoluta. |
Sí |
| report | Establecer la ubicación de salida en la que se generarán los informes.
Una vez completada la tarea, hay informes disponibles en este directorio mediante una estructura similar a la raíz del filtro. Se crea una subcarpeta para cada componente con problemas de los que informar. Cada subcarpeta contiene un archivo llamado "report.xml". También se crea una carpeta especial llamada "allNonApiBundles" en esta carpeta que también contiene un archivo llamado "report.xml". Este archivo crea una lista de todos los paquetes que no utilizan la naturaleza Herramientas de API. También hay un archivo "counts.xml" creado en el directorio de informe que incluye un resumen de los problemas encontrados. La ubicación se especifica mediante una vía de acceso absoluta. |
Sí |
| filters | Establecer el directorio raíz de los filtros de API a utilizar durante el análisis.
El argumento es el directorio raíz de los archivos .api_filters que deben utilizarse para filtrar posibles problemas creados por el análisis de Herramientas de API. La raíz se especifica mediante una vía de acceso absoluta. La raíz debe contener la estructura siguiente: raíz |
+-- nombre de componente (es decir, org.eclipse.jface)
|
+--- .api_filters
|
No |
| excludelist | Establecer la ubicación de la lista de exclusiones.
La ubicación de lista de exclusiones especifica un archivo de texto que enumera los paquetes que se excluirán del análisis. De forma predeterminada, se analizan todos los paquetes del perfil. Se pueden utilizar los atributos de lista de inclusiones y exclusiones para incluir y excluir paquetes de forma selectiva. La lista de inclusiones define el conjunto de paquetes a analizar (si se omite, se incluyen todos los paquetes) y, posteriormente, se aplica la lista de exclusiones. Cada línea del archivo especifica:
La ubicación se especifica mediante una vía de acceso absoluta. A continuación figura una lista de exclusiones de ejemplo: # DOC BUNDLES org.eclipse.jdt.doc.isv org.eclipse.jdt.doc.user org.eclipse.pde.doc.user org.eclipse.platform.doc.isv org.eclipse.platform.doc.user # NON-ECLIPSE BUNDLES com.ibm.icu com.jcraft.jsch R:javax\..* ... |
No |
| includelist | Establecer la ubicación de la lista de inclusiones.
La ubicación de lista de inclusiones especifica un archivo de texto que enumera los paquetes que se incluirán en el análisis. De forma predeterminada, se analizan todos los paquetes del perfil. Se pueden utilizar los atributos de lista de inclusiones y exclusiones para incluir y excluir paquetes de forma selectiva. La lista de inclusiones define el conjunto de paquetes a analizar (si se omite, se incluyen todos los paquetes) y, posteriormente, se aplica la lista de exclusiones. Cada línea del archivo especifica:
La ubicación se especifica mediante una vía de acceso absoluta. A continuación figura una lista de inclusiones de ejemplo: # DOC BUNDLES org.eclipse.jdt.doc.isv org.eclipse.jdt.doc.user org.eclipse.pde.doc.user R:org.eclipse.platform.doc.* # NON-ECLIPSE BUNDLES com.ibm.icu com.jcraft.jsch R:javax\..* ... |
No |
| preferences | Establecer las preferencias para la tarea.
Las preferencias se utilizan para configurar gravedades de problemas. Las gravedades de problemas tienen tres valores posibles: Ignorar, Aviso o Error. El conjunto de problemas detectado se define mediante las claves de preferencias de problemas correspondientes en las Herramientas de API. La ubicación se especifica mediante una vía de acceso absoluta. Si la ubicación dada no existe, no se establecerán las preferencias. Se ignoran las líneas que empiezan por '#'. El formato del archivo de preferencias tiene el aspecto siguiente: #Thu Nov 20 17:35:06 EST 2008 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Ignore ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Ignore ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Ignore ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Ignore ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Warning API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Ignore API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Ignore CLASS_ELEMENT_TYPE_ADDED_METHOD=Error CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Ignore CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Ignore CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Ignore ...Las claves pueden encontrarse en org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes. |
No |
| debug | Establecer el valor de depuración.
Los valores posibles son: true, false
El valor por omisión es false.
|
No |
| eefile | Establezca el archivo de entorno de ejecución a utilizar.
De forma predeterminada, se utiliza un archivo de entorno de ejecución que corresponde a un entorno de ejecución JavaSE-1.6. El formato del archivo se describe en esta página wiki. El archivo se especifica mediante una vía de acceso absoluta. |
No |
| processunresolvedbundles | Establecer si se deben analizar los paquetes con errores de resolutor.
Si está establecido, los paquetes que tienen errores de resolutor (como por ejemplo dependencias faltantes) se incluirán en el análisis. Los errores pueden afectar a los resultados de modo que se incluye una lista de errores de resolutor en la salida xml y se añadirán avisos al html durante la conversión del informe. Los valores posibles son: true, false
El valor predeterminado es true.
|
No |
<apitooling.analysis baseline="D:\eclipse\3.4.1\eclipse" profile="D:\eclipse-SDK-I20081118-0800-linux-gtk.tar.gz" report="D:\reports\xml" filters="D:\filters" excludelist="D:\exclude_list_external.txt" preferences="D:\tests_api\org.eclipse.pde.api.tools.prefs" debug="true" />
Esto ejecutará la tarea creando archivos report.xml dentro de la carpeta D:\reports\xml.
Utilizará la lista de exclusiones y los archivos .api_filter ubicados en
D:\exclude_list_external.txt y D:\filters para reducir el número de problemas de los que
informar.
Las gravedades de problema se generarán según se especifica en D:\tests_api\org.eclipse.pde.api.tools.prefs.
Puesto que la depuración está habilitada, se mostrará algún rastreo de depuración en la consola Ant.

Tarea Ant Congelación de API
Tarea Ant Generación de archivos
Tarea Ant Utilización de API
Tarea Ant Conversión de informes de Análisis
Tarea Ant Conversión de informes de Congelación de API
Tarea Ant Conversión de informes de Utilización de API
Tarea Ant Obsolescencia de API
Tarea Ant Conversión de informes de Obsolescencia de API