O suporte interno Ant do Eclipse permite que os plug-ins executem arquivos de construção Ant através de programação. Isso é feito por meio da classe AntRunner incluída no plug-in org.eclipse.ant.core.
O seguinte trecho de código mostra um exemplo de como utilizar o AntRunner:
import org.eclipse.ant.core.AntRunner; import org.eclipse.core.runtime.IProgressMonitor; public class Running { public static void main(String[] args) throws Exception { IProgressMonitor monitor = ... AntRunner runner = new AntRunner(); runner.setBuildFileLocation("c:/buildfiles/build.xml"); runner.setArguments("-Dmessage=Building -verbose"); runner.run(monitor); } }
Se um monitor de progresso for utilizado, ele será disponibilizado para as tarefas em execução. Consulte Monitores de Progresso para obter mais detalhes.
Sempre que um script Ant é executado no Eclipse, um novo carregador de classe é criado. Como uma biblioteca pode ser carregada por apenas um carregador de classe no Java, as tarefas que utilizam bibliotecas originais poderão ter problemas durante a execução de vários scripts. Se o carregador de classe anterior não tiver sido coletado como lixo na hora em que o novo carregador de classe tentar carregar a biblioteca original, será emitida uma exceção indicando o problema e a execução do script falhará. Uma forma de evitar esse problema é permitir que o carregamento da biblioteca seja tratado por uma classe dentro de uma biblioteca de plug-in. A tarefa pode utilizar essa classe para acessar os métodos originais. Dessa maneira, a biblioteca será carregada pelo carregador de classe do plug-in e não entrará em conflito com o carregamento da biblioteca.