> ----- Original Message -----
> From: Raphael
> To: [EMAIL PROTECTED]
> Sent: Friday, August 02, 2002 11:07 AM
> Subject: [java-list] Compila��o
>
> Galera, algu�m sabe se tem alguma ferramenta que vem com o proprio
> jdk que posso utilizar para compilar uma serie de
> arquivos somente se este foi modificado e n�o todos os aquivos da pasta???


Use o Jakarta Ant. N�o s� faz o que voc� deseja mas faz muito mais.

O Ant n�o vem com o J2SDK mas � uma daquelas ferramentas indispens�veis para
qualquer desenvolvedor Java. Se voc� baixou o J2SDK1.4, voc� deve tamb�m
baixar o Ant.

Para come�ar, veja o minitutorial abaixo.

----------------------------------------------
Como criar um ambiente de desenvolvimento Java usando o J2SDK e o Ant.

O Ant � uma ferramenta indispens�vel para o desenvolvimento Java. Se voc�
n�o usa um IDE, voc� pode us�-la para automatizar diversos processos e
aumentar significativamente sua produtividade. Se voc� usa um IDE, voc�
ainda pode usar o Ant para criar roteiros de montagem independentes de IDE,
para que outras pessoas consigam montar e implantar sua aplica��o
independente de terem ou n�o o mesmo IDE que voc�. Al�m disso, o que se pode
fazer com o Ant supera e muito qualquer comando "build" de qualquer IDE
existente hoje no mercado.

Antes de come�ar, seu ambiente Java deve estar devidamente configurado. Voc�
deve poder executar java e javac da linha de comando e a vari�vel de
ambiente "JAVA_HOME" deve estar definida e apontar para o local de
instala��o do seu SDK.

# Instala��o do Ant:
1. Pegue o Ant 1.5 em: http://jakarta.apache.org/ant
2. Abra o ZIP em algum lugar da sua m�quina (sugest�o: c:\ ou c:\programas
no Windows ou /usr/local/ no Unix)
3. Mude o nome do diret�rio criado (jakarta-ant-1.5) para simplesmente "ant"
(no Linux, fa�a um link simb�lico). Isto permitir� que voc� possa baixar
novas vers�es futuras e n�o precisar ficar redefinindo vari�veis de
ambiente.
4. Defina uma vari�vel de ambiente do sistema "ANT_HOME" que aponte para o
diret�rio (c:\ant, /usr/local/ant)
5. Acrescente ao seu PATH: $ANT_HOME/bin (Linux) ou %ANT_HOME%\bin (Windows)

Agora voc� deve poder executar "ant" de qualquer lugar na sua m�quina. Deve
aparecer uma mensagem de erro dizendo "build.xml does not exist!". O pr�ximo
passo � criar um build.xml.

# O Buildfile (build.xml), Alvos e Tarefas
O build.xml (buildfile) � o roteiro que o Ant usa para realizar v�rias
tarefas. � um arquivo XML que representa um "projeto". Um projeto � uma
cole��o de alvos, ou targets. Voc� pode comparar um alvo a um m�todo. Se o
buildfile fosse uma classe, os alvos s�o m�todos.  Cada alvo consiste de uma
seq��ncia de tarefas que devem ser executadas. Por exemplo, voc� pode ter um
alvo para compilar, outro para criar um JAR, outro para copiar seu JAR para
outro lugar, etc. Alvos devem ser pequenos e fazerem poucas coisas (de
prefer�ncia devem realizar uma tarefa ou uma seq��ncia indivis�vel de
tarefas).

As tarefas s�o os procedimentos existentes dentro dos alvos. Elas s�o
executadas em seq��ncia. Se uma delas falha, todo o processo de build falha.

O Ant s� executa um alvo de cada vez, mas voc� pode definir depend�ncias e
fazer com que a execu��o de um alvo cause a execu��o de v�rios outros em
cascata. Voc� tamb�m pode chamar um alvo de dentro de outro. Por exemplo,
suponha que voc� tenha algumas classes para compilar e depois empacotar em
um JAR. Voc� pode criar dois alvos: "compilar" e "criar_jar" e dizer que
"criar_jar" depende de "compilar". Quando voc� executar "ant criar_jar" o
ant ir� primeiro executar as tarefas de "compilar" para depois executar
"criar_jar". Mas se as classes j� estiverem compiladas? Neste caso, o ant
vai verificar se a vers�o compilada � mais antiga, e compilar� apenas as
classes alteradas.

# Propriedades
Ant permite que se defina propriedades no estilo java.util.Properties.
Propriedades podem ser definidas no pr�prio buildfile, em arquivo
.properties externo ou passados via linha de comando "-D". Propriedades
definidas como "nome" podem ser referenciadas como "${nome}".

# Exemplo de Buildfile
O buildfile abaixo pode ser usado e reusado em seus projetos. Se suas fontes
estiverem em um diret�rio "src", basta colocar este build.xml no diret�rio
que cont�m "src". Ele criar� um diret�rio "classes" e depositar� nele as
classes compiladas. (Se voc� n�o quiser usar "src" e "classes" basta mudar o
nome dos diret�rios no <property>)

<?xml version="1.0" encoding="iso-8859-1" ?>

<project default="compile" name="Buildfile Generico">

  <property name="src.dir" value="src" />
  <property name="build.dir" value="classes" />

  <target name="init">
    <mkdir dir="${build.dir}" />
  </target>

  <target name="compile" depends="init" description="Compila classes>
    <javac srcdir="${src.dir}" destdir="${build.dir}">
      <classpath path="${build.dir}" />
    </javac>
  </target>

  <target name="clean" description="Remove classes compiladas">
    <delete dir="${build.dir}" />
  </target>

</project>

O buildfile acima possui 3 alvos. O alvo "compile" � default. Para executar
o Ant e compilar seus arquivos, mude para o diret�rio onde est� o build.xml
e digite:

ant

Quando voc� executar "ant", o ant ir� executar o "init", onde criar� um
diret�rio "classes", e depois executar� o "compile", onde compilar� as
classes localizadas em "src" e as colocar� no diret�rio "classes". Ele usar�
como classpath o pr�prio diret�rio "classes". Voc� pode ter outros elementos
<classpath> apontando para outros diret�rios, JARs, etc.

Para garantir que o ant s� compile as classes que foram alteradas desde o
�ltimo build, coloque seus arquivos fonte dentro da estrutura de diret�rios
compat�vel com suas declara��es "package".

# Best practices
O Ant estimula a organiza��o. Fica f�cil manter seu codigo-fonte separado do
seu c�digo compilado. Tamb�m fica f�cil usar pacotes. Definir alvos curtos �
uma boa id�ia porque eles podem ser reutilizados. Use um alvo "init" para
realizar qualquer inicializa��o necess�ria e tenha sempre um alvo "clean"
para remover o c�digo gerado. Para executar uma tarefa espec�fica, como o
"clean", digite:

ant clean

Isto � o suficiente para come�ar a usar o Ant (o dif�cil agora vai ser
deixar de us�-lo!) O manual que acompanha a ferramenta � muito bem escrito e
cont�m exemplos de cada elemento do buildfile. Procure na documenta��o se h�
um plug-in para integrar o Ant com sua ferramenta de desenvolvimento ou IDE
favorito. Se houver, instale-o!

----------------------------------------

[]s
Helder.

--
Helder da Rocha ([EMAIL PROTECTED])
Web Consultant
www.argonavis.com.br
S�o Paulo, Brazil
+55 (11) 3044 4398
+55 (11) 9291 0567
_____________________________________________
Aumente sua produtividade e a qualidade do seu software!
- Aprenda a usar Ant, JUnit, HttpUnit, XDoclet e Cactus  -
Informa��es: www.argonavis.com.br/cursos/java/j820/




------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a