Developing Ant tasks and types within Eclipse
Ant tasks and types must be loaded by an Ant classloader instead of a plug-in
classloader. This can cause problems when developing and testing new tasks and types
to be run in the same VM as Eclipse. To avoid these issues, it is necessary
to store the tasks and types in a location that is not visible to any plug-in
classloader.
The following guidelines should be followed when developing and
debugging new tasks and types to be run within the same VM as Eclipse.
- Contributed Ant tasks or types should be defined in their own source folder
within a plug-in (i.e. separate from the source folders containing regular
plug-in classes)
- Each source folder containing the Ant tasks and types should have its own
output location that does not overlap with the output location of the regular
plug-in classes.
- When testing/debugging the new Ant tasks or types using PDE Launch,
additional configuration is required:
- the project contributing
the Ant tasks or types must be configured to exclude the output folders
containing the Ant tasks and types. Use the Properties dialog for the project to
correctly configure the Plug-in Development > Runtime Classpath by removing the Ant output
directories from the plug-ins classpath.
- The JAR file containing the Ant tasks and types and specified
in the org.eclipse.ant.core.extraClasspathEntries extension,
must be built manually, or using an external tool builder.
The org.eclipse.ant.core
plugin can be used as an example of how to set up a plugin that contributes tasks within Eclipse.
For development and testing of this plugin within Eclipse, an external tool builder
explictly generates the tasks JAR when triggered on specific resource changes.
Also see Contributing tasks and types.