The org.eclipse.ant.ui plug-in is now considered to be obsolete.

The functionality previously available in this project has been absorbed by
the org.eclipse.ui.externaltools project.

Please refer to the org.eclipse.ui.externaltools project for current implementation.
