Ant

12 respostas
S

Olá,

Gostaria de saber se tem como utilizar o Apache Ant dentro do projeto, gostaria de executar um “build” apertando um botão dentro da minha aplicação por exemplo, não ter que chamar pelo sistema (ant build.xml).

Obrigado!

12 Respostas

Roger75

No Eclipse você pode adicionar uma janela com o Ant.

É só ir em "Window>Show View>Ant". Você pode clicar em cada target do build e rodar a tarefa correspondente.

S

eu sei disso, quero fazer a minha aplicação rodar um build.

algo do tipo sei lá

AntFile build = new File(“build.xml”);
build.executeTask(“clean”);

algo do tipo hehe

esb

Olá silveta,

Existe uma API do Ant, e o Javadoc está dentro de -> Manual -> Ant API. Infelizmente, nunca usei essa API, mas espero que o Javadoc possa te ajudar.

[]s
Eduardo

rmarin

Cara, você pode chamar a execução via linha de comando pelo Java. Não sei se resolve teu problema.

Ex:

public static void main(String[] args) throws IOException {
Runtime.getRuntime().exec("D:/eclipse-3.2/plugins/org.apache.ant_1.6.5/bin/ant.bat -buildfile G:/rmarin/ant/build.xml");
    }

Você pode montar esta String de execução via parametros selecionados em teu programa.

Vlw! :thumbup:

S

rmarin:
Cara, você pode chamar a execução via linha de comando pelo Java. Não sei se resolve teu problema.

Ex:

public static void main(String[] args) throws IOException {
Runtime.getRuntime().exec("D:/eclipse-3.2/plugins/org.apache.ant_1.6.5/bin/ant.bat -buildfile G:/rmarin/ant/build.xml");
    }

Você pode montar esta String de execução via parametros selecionados em teu programa.

Vlw! :thumbup:

Hehe eu já havia feito algo do tipo, porém infelizmente nos requisitos da minha aplicação é necessária a utilização da ANT API.

mesmo assim obrigado!

S

Olá pessoal, resolvi fazer por chamada externa mesmo, agora surgiu um problema. como saber quando a execução acabou ?

Runtime r = Runtime.getRuntime(); r.exec(antHome + "ant.bat -buildfile \""+ rdkHome + "src\\bin\\build.xml\"");

rmarin

Quando atingir a próxima linha?

S

tipo, quando terminar de executar o ant, ele me mande algum sinal de alguma forma.

rmarin

Essa eu também não sabia, mas aí vai:

public static void main(String[] arg) throws IOException, InterruptedException {
        
        System.out.println("Começou");
        Process process = Runtime.getRuntime().exec("blá!");
        
        process.waitFor();
        System.out.println("Terminou");

Certo? :wink:

S

fiz isso porém não funcionou :frowning: fica travado e não sai disso.

rmarin

Ué, ele fica esperando o processo terminar. Tente com um build file menor, que execute menos coisas.

S

pois então, o resultado do build foi correto, ele foi executado corretamente, porém, o aplicativo fica travado :confused:

Criado 8 de agosto de 2006
Ultima resposta 10 de ago. de 2006
Respostas 12
Participantes 4