Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT

Download Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT

Post on 29-Jun-2015

1.737 views

Category:

Technology

1 download

TRANSCRIPT

  • 1. Automao no ambiente de desenvolvimento comMaven e ANT Responsvel: Thiago Moretto Co-responsvel: Joo Bosco MonteiroWorkshop de Nivelamento InternoGPEC/Tecsinapse Verso: 1.0 23/Abr/07

2. Workshop GPEC/TecsinapseRoteiroIntroduoANTMavenVantagens e desvantagensModelo de desenvolvimentoViso geralUso da ferramentaFuncionamentoTestes unitriosOutras caractersticasConcluso 3. Workshop GPEC/TecsinapseIntroduo Ferramentas como o ANT e Mavendesempenham papis fundamentais emqualquer ambiente de desenvolvimento. AutomaoPadronizaoIntegraoColaboraoDistribuio 4. Workshop GPEC/TecsinapseANT Ferramenta verstil de construo queautomatiza processo de compilao,empacotamento e distribuio de umprojeto. 5. Workshop GPEC/TecsinapseViso geral do ANT 6. Workshop GPEC/TecsinapseExemplo de um buildfile 7. Workshop GPEC/TecsinapseO que Maven? ANT != Maven O Maven oferece uma infra-estrutura deadministrao de projetos, desde acompilao,adistribuio,adocumentao at a colaborao. Baseado no conceito de POM(Project Object Model), arquivo pom.xml 8. Workshop GPEC/TecsinapseVantagens do Maven Aumento de produtividadeMelhor gesto do projetoPadronizao de estruturaAutomatizao das dependncias Baseado em plugins. Fcil extenso dasfuncionalidadesAutomatiza teste unitrios com JUnit 9. Workshop GPEC/TecsinapseDesvantages do Maven Menor versatilidade do que o ANT. Masso ferramentas bem diferentes!Curva de aprendizado considervelMaior complexidade na configurao doambiente 10. Workshop GPEC/TecsinapseModelo de desenvolvimento do Maven Um processo de construo fcil euniforme. Fornece informaes do projeto comqualidade.Estimula boas prticas nodesenvolvimento.Facilita a colaborao e resolve asdependncias. 11. Workshop GPEC/TecsinapseViso geral do Maven Fonte: Maven 2 e Continuum: Automatizando o seu ambiente de desenvolvimento (Palestra JustJava 2006); Drio Lus Oliveros e Jos Marcelo Santuci 12. Workshop GPEC/TecsinapseViso geral do repositrio Maven Fonte: Maven 2 e Continuum: Automatizando o seu ambiente de desenvolvimento (Palestra JustJava 2006); Drio Lus Oliveros e Jos Marcelo Santuci 13. Workshop GPEC/TecsinapseGrupo e artefato Grupo e artefato so formas genricas derepresentar e organizar projetos. O grupo (groupID) uma forma deorganizar os projetos (por exemplo, osprojetos do GPEC). Um artefato (artifactId) um identificadordo projeto, ou parte dele (mdulo). 14. Workshop GPEC/TecsinapseInstalao J esta instalado neste laboratrio.$ mvn -version Mas para instalar, baixe do site:http://maven.apache.org/ Descompacte e coloque o caminho do diretriobin/ do Maven no $PATH da mquina. 15. Workshop GPEC/TecsinapseConfigurao do proxy Crie o arquivo ~/.m2/settings.xml truehttpproxy.acad.ucdb.br3128localhost|127.0.0.1 16. Workshop GPEC/TecsinapseUso Uso:$ mvn [ fase ] ...Uma fase contm vrios plugins em ao.Ou:$ mvn plugin:funo Exemplo, criando nova estrutura:$ mvn archetype:create-DgroupId=br.ucdb.gpec-DartifactId=teste1 17. Workshop GPEC/TecsinapseEstrutura padro de diretrios //pom.xml Arquivo de definio do projeto/src//src/main/java/.../src/main/resources/.../src/test/java/... ... /target/ (Destino de todas as sadas...) 18. Workshop GPEC/TecsinapseArquivo POM mnimo 4.0.0 br.ucdb.gpec teste1 jar 1.0 teste1...... 19. Workshop GPEC/TecsinapseCompilao, empacotamento e montagem Compilando:$ mvn compiler:compile Empacotando:$ mvn package Montando:$ mvn assembly:assembly Necessrio configurar. 20. Workshop GPEC/TecsinapseArtefato e repositrio Instala no repositrio local:$ mvn install A partir deste momento, se o repositrio forcompartilhado, o projeto j estar disponvelpara todos. Publica em algum repositrio remoto definidono arquivo pom.xml.$ mvn deploy 21. Workshop GPEC/TecsinapsePublicando em um repositrio repo GPEC/Tecsinapse scp://repositorio.intranet/repo/ No arquivo ~/.m2/settings.xml necessrioconfigurar usuario e senha ou chave pblica nestecaso! 22. Workshop GPEC/TecsinapseDependncias ...org.hibernatehibernate3.2.0.ga ... 23. Workshop GPEC/TecsinapseDependncias As dependncias so resolvidas tentandoencontrar o artefado em qualquer um dosrepositrios configurados, caso no sejapossvel encontrar tal artefato, o Maven pedeque este seja instalado manualmente norepositrio local. $ mvn install:install-file -DgroupId=exemplo -DartifactId=xyz -Dversion=1.0 -Dpackaging=jar -Dfile=/tmp/xyz.jar 24. Workshop GPEC/TecsinapseDependnciasDependncias transitivas so includasautomaticamente. 25. Workshop GPEC/TecsinapseDependncias possvel instalar um artefato manualmenteem um repositrio remoto. $ mvn deploy:deploy-file-Dfile=...-DrepositoryId=repositorio.intranet-Durl=scp://... 26. Workshop GPEC/TecsinapseGerao do site com documentao e relatrios Gera o site e o publica em um servidor Web.$ mvn site$ mvn site:site-deploy Java cross-reference, estilo Javadoc pormutilizando os arquivos fontes.$ mvn jxr:jxr Javadoc:$ mvn javadoc:javadoc 27. Workshop GPEC/TecsinapseParceria Maven e ANT Saudades do ANT?$ mvn ant:ant Caso houve modificaes nas dependncias,faa:$ mvn ant:clean ant:ant 28. Workshop GPEC/TecsinapseIntegrao com o Eclipse Habilita o projeto e cria o classpath no Eclipse,agora s import-lo na ferramenta.$ mvn eclipse:eclipse$ mvn -Declipse.workspace=... eclipse:add-maven-repoSe houver mudanas nas dependncias, feche oprojeto dentro do Eclipse e execute:$ mvn eclipse:clean$ mvn eclipse:eclipse$ mvn -Declipse.workspace=... eclipse:add-maven-repo 29. Workshop GPEC/TecsinapseConfigurao do Eclipse Em Preferences > Java > Build Path >Classpath Variables crie a varivel M2_REPOcom o caminho de seu repositrio. Neste casodigite ~/.m2/repository/ A partir deste momento o seu build path noEclipse deve estar correto. 30. Workshop GPEC/TecsinapseConfigurao do Eclipse Para executar o Maven dentro do Eclipse v emRun > External Tool > External Tools... Crie um novo Program. Em Location, localize obinrio do Maven. Em Working Directorycoloque: ${project_loc} Em Arguments, os argumentos para o Maven.Exemplo: package 31. Workshop GPEC/TecsinapseTestes unitrios O Maven j tem suporte ao Junit.Por padro, um projeto s pode serpublicado em um repositrio caso passe emtodos os seus testes unitrios.Na pasta src/test/java onde ficam os seustestes unitrios, deve respeitar um padro denome para serem executadosautomaticamente. 32. Workshop GPEC/TecsinapseOutras caractersticas Integrao com outras IDE's (Netbeans,IDEA...)Integrao com SCM (Subversion, CVS, ...)Agrega o ANT.Vrios plugins podem ser encontrados pelaInternet.Suporte herana e agregao de projetos.Entre outras... 33. Workshop GPEC/TecsinapseReferncias bibliogrficas ANT:http://ant.apache.org/Better Build with Maven 2:http://www.mergere.com/m2book_download.jspSite do Maven:http://maven.apache.org/ Automatizando seus projetos com o Maven 2http://pbjug.org/jugs/documentos/maven_2

Recommended

View more >