O Ant é um mecanismo de script fonte aberto que é capaz de executar a criação de scripts no formato XML. O Ant é ideal para executar tarefas normalmente encontradas em construções automatizadas.
As variáveis definidas no build.properties do plug-in, fragmento ou recurso serão utilizadas por scripts automatizados de construção de Ant. O PDE gera scripts Ant para criar arquivos de construção de plug-in e de fragmento individuais e um script geral para construir o JAR do recurso. Esse script "main" também é responsável por executar os arquivos de script individuais na ordem correta (definidos pela cadeia de dependência do plug-in). Cada arquivo de construção possui o mesmo nome (build.xml) e é criado como um irmão dos arquivos manifest nos projetos correspondentes.
Como os scripts Ant utilizam as variáveis de substituição em build.properties, você pode utilizá-las normalmente "como estão," sem modificar os scripts gerados. Se modificá-los, não poderá criar os scripts todas as vezes que desejar reconstruir o componente. Por esse motivo, a geração e execução de script podem ser controladas individualmente.
Para criar scripts, basta apenas pressionar o botão Empacotar... no manifest do recurso. Se o manifest não estiver aberto, será possível selecionar o arquivo manifest e selecionar Criar JAR do Recurso do menu popup (existe um comando semelhante para manifests do plug-in e do fragmento). O comando gerará o script de construção e abrirá o assistente Ant para executá-lo:
O assistente padrão de Ant permite a personalização em duas maneiras: fornecendo os argumentos de execução e selecionando um ou mais destinos de construção.
Os argumentos de Ant são normalmente utilizados para fornecer valores de propriedade que substituem os valores padrão e controlam o processo de construção. Os argumentos são definidos utilizando-se "-Dproperty=value". As seguintes propriedades são reconhecidas:
bootclasspath - se definida, substitui o classpath de reinicialização padrão. Utilizada ao compilar plug-ins da plataforma cruzada (por ex. construindo um plug-in da UI para Windows utilizando o Linux)
Ao executar scripts de construção do recurso, os destinos a seguir são utilizados para chamar destinos individuais de plug-ins ou fragmentos. Para especificar qual destino executar, a propriedade target deve ser definida (por ex., -Dtarget=refresh):
Neste cenário, um dos destinos all.* serve como repetidor, enquanto que o destino real a ser executado é especificado através da propriedade target, conforme mostrado acima.
Os seguintes destinos constroem JARs e origens para todos os filhos do recurso:
O build.update.jar de destino pode ser selecionado para gerar um JAR de recurso, no formato utilizado pelo mecanismo de instalação/atualização. A propriedade feature.destination mencionada acima pode ser utilizada para definir onde colocar o JAR e o plugin.destination controla onde colocar JARs de atualização individuais para plug-ins e fragmentos.
O zip.distribution de destino cria um arquivo zip com o recurso e seus plug-ins e fragmentos em uma estrutura semelhante ao SDK, mas não inclui o código fonte. A origem pode ser gerada com o destino zip.sources.
Utilize o destino clean, para excluir tudo o que foi produzido executando qualquer um dos destinos. Finalmente, o destino refresh executa uma ação "Atualizar" no projeto atual, tornando os recursos recém-gerados visíveis no Navegador ou Package Explorer.
Ao executar scripts de construção para plug-ins e fragmentos individuais, é possível utilizar um destino adicional chamado zip.plugin. Ele cria um arquivo zip com o conteúdo binário e de origem de um plug-in com a seguinte estrutura:
id_version/
contents
em que 'id' é o identificador exclusivo do plug-in e 'version' é a versão do plug-in. Este arquivo zip pode ser descompactado diretamente com unzip no diretório de instalação do Eclipse, como forma de implementação manual rápida.