Esta semana a Dicas-List vai tratar sobre o ANT.
O ANT é uma das ferramentas mais poderosas para a automação
de processos de construção, documentação e empacotamento de
projetos em Java, além de fazer outras tantas tarefas.

Ele já foi tema de uma das nossas dicas (http://www.mail-
archive.com/dicas-list%40soujava.org.br/msg00042.html) e
nesta semana vamos apresentar algumas tasks bem interessantes
do ANT.

Começando pelo arquivo de propriedades e Javac.

- O arquivo de propriedades.

É importante utilizar um arquivo de propriedades para o ANT
permitindo um desacoplamento entre os scripts e as variáveis
de ambiente, como caminho do diretório de fontes, opções de
DEBUG, local onde estão algumas libs, etc.
O arquivo build.xml deve conter apenas informações das TASKS
tentando evitar ao máximo dependências "hard coded" para
diretórios. É o arquivo de propriedades que permite esta
separação.
Veja um exemplo de um arquivo build.properties abaixo.

j2ee.home=C:\\j2sdkee1.3.1
tomcat.home=c:\\Program Files\\Apache Group\\Tomcat 4.1
deploy.dir=${tomcat.home}\\webapps
debug=true

Estas propriedades são carregadas pelo build.xml através da
task "property".

<property file="build.properties"/>


- O Javac
A Task Javac permite compilar todas as classes de um projeto
ou algumas classes, dependendo do filtro que for utilizado.

Uma boa dica é substituir o compilador padrão (javac da SUN)
e Utilizar o Jikes, que tem algumas vantagens como compilaçao
mais rápida e checagem de dependências de classes de forma
mais eficiente.
Para utilizar o Jikes adicione as seguintes propriedades no
arquivo build.properties e tenha o jikes.exe acessível no
classpath do ANT. Não é necessário nenhuma alteração no alvo
de compilação (JAVAC) dentro do script build.xml ao
substituir o Javac pelo Jikes.

build.compiler=jikes
build.compiler.fulldepend=true


Veja abaixo um exemplo de um arquivo de build com a task para
compilação.


<project name="Dicas-List" default="compile">

   <property file="build.properties"/>

    <target name="init">
        <property name="src" value="src"/>
        <property name="build" value="build"/>
        <property name="classes" value="${build}/classes"/>

        <path id="project.class.path">
            <pathelement path="${src}"/>
            <pathelement path="${classes}"/>
            <pathelement path="${j2ee.home}/lib/j2ee.jar"/>
        </path>
    </target>

    <target name="prepare" depends="init">
        <mkdir dir="${build}"/>
        <mkdir dir="${classes}"/>
    </target>

    <target name="compile" depends="prepare">
        <echo message="Compilando projeto."/>
        <javac srcdir="${src}" destdir="${classes}"
debug="${debug}">
            <classpath refid="project.class.path"/>
        </javac>
    </target>
</project>

Saiba mais sobre a task JavaC em
http://ant.apache.org/manual/CoreTasks/javac.html onde
inclusive você encontrará outras informações.
O Jikes também já foi tema da Dicas-List http://www.mail-
archive.com/dicas-list%40soujava.org.br/msg00026.html

Bons códigos!!!

______________________________________________________________
________________
Handerson Ferreira Gomes
Summa Technologies
Boletim Dicas Java - Sua dose diária de Java.



---
UOL, o melhor da Internet
http://www.uol.com.br/


================================================================================
[dicas-list] circula diariamente com pequenas dicas sobre a plataforma Java e é
mais um serviço da Sociedade de Usuários Java - http://www.soujava.org.br
      *** SouJava - Fortalecendo a Comunidade Java Brasileira! ***
- Para contribuir com uma dica, envie um e-mail para [EMAIL PROTECTED]
- Participe de outras listas de discussão sobre a linguagem Java.
  Saiba mais em http://www.soujava.org.br/lista.htm
--------------------------------------------------------------------------------
- Para assinar este boletim: mailto:[EMAIL PROTECTED]
- Para cancelar sua assinatura: mailto:[EMAIL PROTECTED]
- Dicas anteriores: http://www.mail-archive.com/dicas-list%40soujava.org.br
- Para discutir sobre as dicas, acesse o Mundo OO (http://www.mundooo.com.br)


Responder a