No nosso dia a dia de desenvolvimento sempre temos algumas tarefas rotineiras e repetitivas, pensando nestas tarefas sugiram diversas ferramentas para automatizar esses processos de baixar fontes de repositórios, copiar, criar pastas, compilar, compactar ... a lista de tarefas é imensa.
Sempre tivemos ferramentas para ajudar o desenvolvedor no seu dia a dia como por exemplo: o "Make, essa ferramenta é um utilitário que compila automaticamente programas e bibliotecas do arquivo fonte através da leitura de arquivos denominados Makefiles, que especificam como obter o programa de destino.", com o passar do tempo foi surgindo diversas outras ferramentas similares escritos em diversas linguagens e plataformas uma destas ferramenta e o Apache Ant.
Para quem não sabe o próprio Delphi utiliza uma dessas ferramentas para gerenciar o processo de compilação que é o MSBuild, por isso a minha proposta e mostrar que podemos melhorar nosso dia a dia com ferramentas disponíveis.
Bem inicialmente você terá que instalar o Apache Ant, atualmente está na versão 1.8. Após a instalação você deverá instalar também o plugin do MSBuild para o Apache Ant(os arquivos dproj sao script do msbuild).
Bem a idéia aqui é demonstrar a integração do Ant com o processo do dia a dia e não como fazer os scripts de build.
Ex:
<?xml version="1.0"?> <project name="HeLLo" default="compile"> <target name="clean" description="remove arquivos compilados"> <delete dir="Build" /> </target> <target name="compile" description="compila o projeto"> <mkdir dir="Build" /> msbuild buildfile="hello.dproj"> <target name="MAKE"/> </msbuild> </target> </project>
Sendo o Hello.dproj o arquivo criado pelo próprio Delphi com o script acima para compilar o projeto hello só precisa executar no console ant compile.
Agora vamos fazer que o nosso scrip atualize nossos fontes com um único comando, acrescentamos mais uma target
<target name="update" description="atualiza fontes"> <exec command="svn update"> </target>
Para atualizamos nossos fontes precisamos agora somente digitar o seguinte comando no console "ant update".
Vamos agora automatizar o nosso processo de atualizar os fontes, limpar o diretório build e compilar. Criaremos mais uma target com o nome sinc e colocamos as nossas outras target clean,update,compile
<target name="sinc" depends="clean,update,compile">
Com isso só precisamos digitar no console ant sinc para que o ant execute as tarefas.