Você está na página 1de 13

Especializao em web com interfaces

ricas

Gerenciando projetos com Apache Ant

Prof. Fabrzzio Alphonsus A. M. N. Soares

fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com
Instituto de Informtica
Universidade Federal de Gois

Aula 12
1 de junho de 2012

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 1/13
Gerenciando projetos com Apache Ant

Nesta aula vamos ver algumas recomendaes de gerenciar


um projeto de software com apoio do Apache Ant.

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 2/13
Criando um projeto I

Crie um diretrio para armazenar seu projeto. Nele guarde o


seu build.xml.
Use um arquivo build.properties para definir propriedades
exclusivas do seu projeto (assim voc consegue reutilizar
o mesmo build.xml em outros projetos)

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 3/13
Criando um projeto II

Exemplo de arquivo build.properties:


1 # build properties
2 value.compile.debug = true
3 value.compile.optimize = off
4 name.build.admin = fred
5 name.build.branch = fred_RatlBankModel_Dev

Exemplo de tarefa para leitura do arquivo de propriedades:


1 <property file="build.properties"/>

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 4/13
Criando um projeto III

Dentro desse diretrio, crie alguns subdiretrios


src/ Para armazenar o cdigo-fonte
lib/ Opcional. Para guardar os JARs de APIs usadas
doc/ Opcional. Para guardar a documentao gerada

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 5/13
Criando um projeto IV

O seu Ant script deve ainda criar


build/ Ou classes/. Onde estar o cdigo compilado
dist/ Ou jars/ ou release/. Onde estaro os JARs criados

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 6/13
Alvos bsicos do build.xml I

Voc tambm deve padronizar os nomes dos alvos dos seus


build.xml. Alguns alvos tpicos so
init Para criar dietrios, inicializar o ambiente, etc.
clean Para fazer a faxina, remover diretrios gerados, etc.
compile Para compilar
build Para construir a aplicao, integrar, criar JARs
run Para executar um cliente da aplicao
test Para executar os testes da aplicao

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 7/13
Alvos bsicos do build.xml II

Voc pode usar outros nomes, mas mantenha um padro


Tambm pode criar uma nomenclatura que destaque alvos prin-
cipais, usando maisculas. Ex:
CLEAN, que chama clean-this, clean-that, undeploy, etc.
BUILD, que chama build-depend, build-client, build-server

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 8/13
Alvos bsicos do build.xml III

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 9/13
Alvos bsicos do build.xml IV
Exemplo de build.xml:
1 <project default="compile" name="MiniEd">
2 <property file="build.properties"/>
3 <target name="init">
4 <mkdir dir="${build.dir}"/>
5 <mkdir dir="${dist.dir}"/>
6 </target>
7 <target name="clean"> ... </target>
8 <target name="compile" depends="init">
9 ...
10 </target>
11 <target name="build" depends="compile">
12 ...
13 </target>
14 <target name="javadoc" depends="build">
15 ...
16 </target>
17 <target name="run" depends="build">
18 ...
19 </target>

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 10/13
Alvos bsicos do build.xml V

20 </project>

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 11/13
Alvos bsicos do build.xml VI

Exemplo de build.properties:
1 # Nome da aplicao
2 app.name=minied
3 # Nomes dos diretrios
4 src.dir=src
5 docs.dir=docs
6 build.dir=classes
7 dist.dir=jars
8 # Nome da classe executvel
9 app.main.class=com.javamagazine.minied.MiniEditor
10 root.package=com

Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 12/13
Atividade 5

1 Crie um buildfile para o projeto desenvolvido para a


Atividade 4
Use o template bsico de build.xml mostrado nesta aula
Configure-o e personalize-o para incluir os alvos e tarefas
especficas do seu projeto
Inclua alvos com tarefas de criao de diretrios,
compilao, jar e execuo
2 Pratique com os exemplos apresentados nesta e na aula
anterior
Execute os buildfiles e use o cdigo como exemplo
Dica: consulte a documentao do Ant
Muito bem estruturada
Contm exemplos de todos os tags
Prof. Fabrzzio Alphonsus A. M. N. Soares | Gerenciando projetos com Apache Ant 13/13

Você também pode gostar