There are currently no articles.
Running an API use scan (IDE)
In the IDE API use scans can be run from the External tools dialog. The benefits of providing the scanning as an external tool are many, the foremost being: 1. you can create as many different configurations as you want for scanning different distributions of your products and 2. each configuration can have its own persisted settings.
Creating a new scan configuration
To create a new use scan configuration simply double-click the API Use Report configuration type.
Configuring the new use scan
There are a few items that are required for a use scan to run:
- You must select what you want to analyze, which can be either an API baseline, target definition or a directory of bundles. You can only select one option, with each option allowing you to configure it. I.e. you can go to the API baselines preference page to edit existing baselines if you select analyzing an API baseline.
- You must specify where the scan results will be outputted. The UI allows you to browse for a desired location or you can enter it in manually. If the given report location does not exist it will be created for you.
There are more options that can be configured but are not required for a scan to complete, they include:
- Search for > References to - this field allows you to specify the name (or matching RegEx) of the bundle that you want to see references to. Consider the following example:
org\.eclipse.*In this example we are saying that we want to see all references to any bundle that starts with the name
- Search for > API references - this option allows you to scan for API references.
- Search for > Internal references - this option allows you to scan for internal references.
- Search in > Bundles matching - this field allows you to specify the name (or matching RegEx) of the bundle(s) that you want to scan for references from i.e. a search scope. Consider the following example:
.*In this example we are saying that we want to search in all bundles whose name matches any character sequence. The same effect can be achieved leaving the field blank. Consider another example:
com\.test.*In this example only bundles whose name starts with
com.testwill be scanned for references.
- Reporting > Clean report directory before reporting new results - this option allows you to clear out an existing report location prior to the scan reporting any results. It should be noted that this option will completely remove the specified report directory if it exists, with all child directories being recursively removed as well.
- Reporting > Create HTML reports - this option will convert all of the XML output into formatted HTML and place it in
- Reporting > Clean HTML report location - this option allows you to clear out an existing HTML location prior to creating new reports. It should be noted that this option will completely remove the specified HTML directory if it exists, with all child directories being recursively removed as well.
- Reporting > Open report when search completes - opens the HTML report when searching has completed.
Running an API use scan (commandline)
Before you can begin running any of the Ant tasks provided by API Tools you have to get a version of the
org.eclipse.pde.api.tools bundle that provides the task(s) you want to run. In this example - to run the updated version of the use task - you will need to get a version from any build after August 24, 2009.
Next you will want to extract the
api-tasks.properties file from
org.eclipse.pde.api.tools jar found in the
Lastly, you will want to extract the
api-tasks.xml file, also located in the
org.eclipse.pde.api.tools jar in the
The Build File
The build file -
api-tasks.xml - is fairly simple and has a plethora of comments to help you out. It performs 3 main tasks:
1. it builds the Ant classpath based on an Eclipse install
2. it extracts the apitooling-ant.jar from the
3. it runs whichever task you specify in the 'run' target
The three most import properties in the build file describe the base set up locations to be able to run any of the Ant tasks. They include:
- The Eclipse install location - this location is required so that the build can find all of the dependents of API tools and load them on the Ant classpath.
<property name="eclipse.install.dir" value=""/>
- The location to extract the
apitooling-antjar file to - this location is where the build will place the API tools jar required to run any of the Ant tasks.
<property name="eclipse.lib.dir" value=""/>
- The location of the
ant-tasks.propertiesfile - this location is needed so that Ant can map task names back to the classes that implement them.
<property name="task.props" value=""/>
Use Scan Buildfile
Running The Buildfile
To actually run the build file you must have Ant available on the command line and then enter the following:
root%>ant -buildfile <build file name>