Skip to Content

<executePluginProject>

Scope: PDE projects

Description

The executePluginProject task allows you to iterate over the plug-in libraries defined in a PDE project.

Arguments

The executePluginProject task provides the following arguments:

Argument Description Required
workspaceDirectory Absolute path of the workspace directory Either 'workspaceDirectory' or 'workspaceId' has to be specified
workspaceId The identifier of a defined workspace (see <workspaceDefinition>) Either 'workspaceDirectory' or 'workspaceId' has to be specified
projectName Name of the eclipse project yes
pathSeparator The system-dependent path-separator character. This character is used to separate filenames in a sequence of files. no (default: On UNIX systems, this character is ':'; on Microsoft Windows systems it is ';')
dirSeparator The system-dependent default name-separator character. no (default: On UNIX systems the value of this field is '/'; on Microsoft Windows systems it is '\')
prefix The prefix for all scoped references and properties. no (default: executeJdtProject)

Nested Elements

To iterate over source or output folders specified in a JDT project, you can define one or more nested elements. Those elements can contain several task calls, similar to a target element. The following elements are defined:

  • forPluginLibrary: executed for each plug-in library
  • forProject: executed once

Scoped Properties

Several properties and references are "passed in", so you can access them within the forPluginLibrary or forProject elements. You can access the following scoped properties:

Property Availability Description
<prefix>.bundle.version all elements The specified version of the bundle (e.g. 1.0.0.qualifier).
<prefix>.bundle.resolved.version all elements The resolved version of the bundle (e.g. 1.0.0.200906121533).
<prefix>.build.properties.binary.includes all elements The list of all included files and directories for a binary build (as specified in the build.properties).
<prefix>.build.properties.binary.excludes all elements The list of all excluded files and directories for a binary build (as specified in the build.properties).
<prefix>.library.name forEachLibrary The name of the current library.
<prefix>.library.isSelf forEachLibrary true if this is the 'self' library, false otherwise.

Example usage

The following example shows the usage of the executePluginProject task:

<ant4eclipse:executePluginProject workspaceDirectory="${workspaceDirectory}"
                                  projectName="${projectName}" >
 
  <!-- execute once for the project -->
  <ant4eclipse:forProject>
    ...
  </ant4eclipse:forProject>
 
  <!-- execute for each library (except the 'self' library) -->
  <ant4eclipse:forEachPluginLibrary filter="(library.isSelf=false)">
    ...
  </ant4eclipse:forEachPluginLibrary>
 
  <!-- execute for each library (only for the 'self' library) -->
  <ant4eclipse:forEachPluginLibrary filter="(library.isSelf=true)">
    ...
  </ant4eclipse:forEachPluginLibrary>
 
</ant4eclipse:executePluginProject>