Apache Ant. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Documentos relacionados
Java 2 Standard Edition. Gerenciamento de projetos com o. Apache Ant. argonavis.com.br. Helder da Rocha (helder@acm.org)

J820. Ambiente de Desenvolvimento Java usando. Ant. Ant. argonavis.com.br. Helder da Rocha

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson.

Java 2 Enterprise Edition. Introdução ao. Apache Ant. Helder da Rocha

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson.

Introdução ao Apache Ant

J820. Introdução ao. Apache Ant. argonavis.com.br. Helder da Rocha

Manual introdutório do Apache ANT

Desenvolvimento Flex com Maven

São Paulo Maio de argonavis.com.br. Construção de aplicações. Java com o. Java. Apache Ant. Helder da Rocha

Java 2 Standard Edition. Configuraçã. ção o do ambiente. JEdit + Ant. argonavis.com.br. Helder da Rocha (helder@acm.org)

Introdução. Tutorial do Xdoclet. Resumo

J820. Integração Contínua. com CVS, CruiseControl, Cruise Control. argonavis.com.br. AntHill Gump e Helder da Rocha (helder@acm.

Introdução ao Maven. Leonardo Gresta Paulino Murta

Integração do Java + Adobe Flex através do Projeto BlazeDs

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Iniciando. Instalando a Plataforma JavaFX. O melhor jeito de começar é parar de falar e começar a fazer.

Instalando o J2SE 5.0 JDK no Windows 2000/XP

Curso de Linux Básico

Como Instalar Programas no GNU/Linux. Elexsandro Rangel dos Santos

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ fernando_seabra@cos.ufrj.br

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

Trabalho Prático Script de Teste Automático

Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows

Passos para a configuração do ambiente de desenvolvimento:

Builds com Gradle: programativo e declarativo. Conheça a ferramenta de build para a JVM que está ganhando muita popularidade.

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

COORDENAÇÃO DE TECNOLOGIA (COTEC) MAIO/2010

2 Configuração do Ambiente de Desenvolvimento

Projeto Amadeus. Guia de Instalação Linux

Introdução à Plataforma Eclipse. Leandro Daflon

Leonardo Gresta Paulino Murta

Gerenciamento de Pacotes

Introdução ao Sistema. Características

Manual de Utilização da Plataforma SIGUS

Programação por Objectos

Lazarus pelo SVN Linux/Windows

Manual de Instalação PIMSConnector em Windows

Desenvolvimento de Software para UNIX

Criar uma aplicação JPA2 com EclipseLink e H2

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

Aula 4: Montagem e Disponibilização Frameworks Genéricos

Instalação do PHP no Linux

Instalando o plugin CDT 4.0

Aula 1 Acesso a Banco de Dados

Criar um novo projeto

J2EE TM Java 2 Plataform, Enterprise Edition

Introdução ao IDE Netbeans (Programação Java)

Desenvolvimento Web TCC Turma A-1

Secure Client. Manual do Usuário. IPNv2. Secure Client IPNv2

Aplicabilidade: visão geral

Índice. Peter P. Lupo Cristina T. Cerdeiral. Página 2 de 48

Manual de Instalação PIMSConnector em Linux

Maker Planet Manual do Usuário

Ferramentas: jar e javadoc

Treinamento PostgreSQL - Aula 05

Especialização em web com interfaces ricas. Ferramentas de automação

Comandos remotos via agente Zabbix

Formação de Administradores de Redes Linux LPI level 1

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Instalando e Executando o Siprev em Ambiente Linux Versão SIPREV

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br


Sistema Operacional Unidade 8.2 Instalação de aplicativos. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide

Protocolo FTP. Professor Leonardo Larback

Trabalho de Implementação Programação III 2016/02 Prof. João Paulo Andrade Almeida

Abel J. P. Gomes. Março, 2012

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Programação de Computadores II TCC Turma A-1

Gestão de Desenvolvimento de Sistemas por Controle de Versão Utilizando SVN. Software para Controle de Versão SVN/Subversion

Configuração do Apache Cordova Lab. 13. Prof. Bruno C. Vani

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Java para Desktop. Introdução à Plataforma Java JSE

Tutorial Eclipse (IDE)

SparkleShare. Arthur Henrique Danilo Inácio Luíla Oliveira Paulo Junior

Introdução à Linguagem Java

Documentação Usando o Javadoc

Ricardo R. Lecheta. Novatec

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Tutorial TC-23. Implementando. Programming. extreme. em Java. Integraçã testes de unidade CRUISE CONTROL. Helder da Rocha

Tecnologias de Jogos de Vídeo

Aula 03 - Projeto Java Web

CURSO DE PROGRAMAÇÃO EM JAVA

Um pouco mais que Hello World

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Cronograma de Aulas 2º Módulo 11/07/2009 a 05/09/2009

Acesso Re sso R moto

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Revisão LPI101. Tópicos e Objetivos Instalação e Gerenciamento de Pacotes do Linux Dispositivos, Sistemas de Arquivos Linux e o FHS

#apt-get install make flex gcc gpp apache2 php5 php5-pgsql postgresql-8.4 libapache2-mod-php5 php5-gd php-net-socket postgres

Transcrição:

Apache Ant Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Índice n Introdução n Instalação n Descritor n Projeto n Alvos n Tarefas n Propriedades n Exemplo 2

Introdução n Sistema de apoio à construção (building) escrito em Java; n Semelhante ao Make; Sem suas limitações para desenvolvimento multiplataforma (diferentes sistemas operacionais); n Descritores escritos em XML; n Exibição de resultados em texto, XML, e-mail,etc; n Ampla variedade de comandos disponíveis; n Extensível via classes Java; n Utilizado pela maioria das IDEs de programação. 3

Instalação n Home-Page: http://ant.apache.org; http://nant.sourceforge.net (versão para.net/mono); n Embutido em IDEs (Eclipse, NetBeans, JBuilder, etc.) Suporte para a interpretação de descritores; Suporte para a construção de descritores via wizards (em alguns casos); n Instalação no Debian Linux: # apt-get install ant Nenhuma configuração é necessária!!! 4

Descritor n Usualmente, os descritores de construção Ant são definidos via arquivo build.xml; n Todo descritor de construção Ant é composto por três elementos principais: Project: Representa o projeto em questão; Target: Representa um alvo de construção (e.g.: compila, testa, empacota, etc.); Task: Representa uma tarefa específica a ser automatizada (e.g.: javac, ftp, ssh, cvs, junit, etc.) Project * Target * Task 5

Projeto n Project é o elemento de mais alto nível de um descritor de construção; n O elemento project é composto de: n Nome do projeto; Alvo default do projeto; Diretório base; Sub-elemento de descrição; Exemplo: <project name="alo Mundo" default="executa" basedir="."> <description>projeto de teste do Ant.</description>... </project> 6

Alvos n Target representa os possíveis alvos de construção; n O elemento target é composto de: Nome do alvo; Dependências de execução; Condições (if e unless); Descrição sucinta; n Exemplo: <target name="executa" depends="init,compila">... </target> 7

Alvos n Um alvo é executado uma única vez; Mesmo que exista mais de uma dependência; n Todas as dependências são executadas antes do alvo em questão, na ordem informada; n Exemplo: <target name="a"/> <target name="b" depends="a"/> <target name="c" depends="b,a"/> n Resultado da execução de C: A,B,C; 8

Tarefas n Task representa tarefas a serem executadas em um alvo; n O elemento task é composto de: n n Nome da tarefa; Parâmetros para a sua execução; Tarefas são agrupadas em três tipos: Internas: incluídas no Ant; Opcionais: disponíveis via bibliotecas adicionais; Feitas pelo usuário; Exemplos: <javac srcdir="${src}" destdir="${build}"/> 9

Tarefas (Internas) n Exemplos de tarefas internas existentes: Ant; BuildNumber; Copy; CVS; Delete; EAR; Echo; Exec; Input; Jar; Java; Javac; Javadoc; Mail; Mkdir; Move; SignJar; Sql; Tempfile; TStamp; Unzip; War; Xslt; Zip; 10

Tarefas (Opcionais) n Exemplos de tarefas opcionais existentes:.net; Clearcase; Continuus; EJB; FTP; JavaCC; JspC; JUnit; JUnitReport; Perforce; Pvcs; Rpm; ServerDeploy; Scp; Sshexec; Starteam; Telnet; SourceSafe; 11

Propriedades n São definidas no descritor de construção ou em um descritor auxiliar: build.properties; Representadas por tuplas nome/valor; Acessadas por ${nome}; Exemplo de propriedades pré-definidas: n n basedir; ant.project.name; n Exemplos: <property file="${basedir}/build.properties"/> No build.properties: builddir = ${basedir}/build <property name="builddir" value="${basedir}/build"/> 12

Exemplo n Sistema simples em Java (SE): Código fonte em src ; Código compilado e biblioteca em build ; n Alvos definidos: Init; Compila; Executa; Clean; 13

Exemplo n Propriedades (build.properties): mainclass = AloMundo srcdir = ${basedir}/src builddir = ${basedir}/build n Projeto (build.xml): <project name="alo Mundo" default="executa" basedir="."> <description>projeto de teste do Ant.</description> <!-- PROPRIEDADES --> <property file="${basedir}/build.properties" /> 14

Exemplo n Alvo init: <! ALVO INIT --> <target name="init"> <mkdir dir="${srcdir}" /> <mkdir dir="${builddir}" /> </target> n Alvo compila: <!-- ALVO COMPILA --> <target name="compila" depends="init"> <javac srcdir="${srcdir}" destdir="${builddir}" /> </target> 15

Exemplo n Alvo executa: <!-- ALVO EXECUTA --> <target name="executa" depends="init,compila"> <java classname="${mainclass}"> <classpath path="${builddir}"/> </java> </target> n Alvo clean: <!-- ALVO CLEAN --> <target name="clean"> <delete dir="${builddir}"/> </target> 16

Exemplo n Utilização (1ª execução): $ ant Buildfile: build.xml init: [mkdir] Created dir: /alomundo/build compila: [javac] Compiling 1 source file to /alomundo/build executa: [java] Alo Mundo!!! BUILD SUCCESSFUL Total time: 2 seconds 17

Exemplo n Utilização (demais execuções): $ ant Buildfile: build.xml init: compila: executa: [java] Alo Mundo!!! BUILD SUCCESSFUL Total time: 1 second 18

Exemplo Utilização do Ant na IDE Eclipse 19

Ant Leonardo Gresta Paulino Murta leomurta@ic.uff.br