Executando Arquivos de Construção Ant de Modo Programático

O suporte Ant incorporado ao Eclipse permite que os plug-ins executem de modo programático os arquivos de construção Ant. 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. Observe que apenas uma construção Ant pode ocorrer em um determinado momento. Consulte AntRunner.isBuildRunning();

Cuidado Especial com Bibliotecas Originais

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.

 

Copyright IBM Corporation e outros 2000, 2003.