Desenvolvimento Flex com Maven

Documentos relacionados
Introdução ao Maven. Leonardo Gresta Paulino Murta

Integração contínua com Hudson - Configuração, Extensão e Diversão! Fabiane Bizinella Nardon fabiane.nardon@zilics.com.br Zilics

Apache Ant. Leonardo Gresta Paulino Murta

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

Software Open Source e Integração Contínua no Instituto de Informática Ferramentas de Integração Contínua

Demoiselle Tutorial Módulo 1 Arquitetura

Integrando Flex + Java + BlazeDS

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

Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson

Integração Contínua com Rational Team Concert, Jenkins e SonarQube

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

ROTEIRO ILUSTRADO PARA SISTEMA COMPUTACIONAL INSANE

Introdução ao Apache Maven

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

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

Nome N Série: Ferramentas

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Descompacte o arquivo site zip que foi baixado dentro da pasta do eclipse.

Manual de Instalação PIMSConnector em Windows

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

Lazarus pelo SVN Linux/Windows

Manual de Instalação PIMSConnector em Linux

ARQUITETURA DO SISTEMA ERP PEGASUS

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

Formador: Paulo Ramos IGRI13: Rui Bárcia Nº15. Burp Suite. Módulo 25

Ricardo R. Lecheta. Novatec

Introdução ao Android

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

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

Adotando OpenEdge Architect. Luciano Oliveira Sr. Instructor, Consultant Global Field Services

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

Desenvolvimento de Aplicativos com ASR para Android

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

Introdução à Plataforma Eclipse. Leandro Daflon

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

Persistência de dados com JPA. Hélder Antero Amaral Nunes

ARQUITETANDO E EVOLUINDO. um erp para a nuvem

Gestão de Modificações. Fabrício de Sousa

O que é? Mas, já não existem outros frameworks? Quais são as vantagens de adotar o AAMO? AAMO quer dizer lua no idioma dos índios Xavantes.

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

A ajuda é apresentada de seguida, sendo esses os passos necessários para instalar o JAVA.

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

BlackBerry Messenger SDK

GUIA DE INÍCIO RÁPIDO NHS NOBREAK MANAGER 4.0 TOPOLOGIA MÍNIMA DE REDE PARA A INSTALAÇÃO E USO DO SOFTWARE COM GPRS

Tutorial Eclipse (IDE)

Criação de um novo projeto no Eclipse utilizando Maven

Desenvolvendo com Bootstrap 3: um framework front-end que vale a pena!

Projeto Amadeus. Guia de Instalação Linux

Tutorial 1.0. Instalação

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

Plano de Aula - Dreamweaver CS6 - cód Horas/Aula

Ferramentas: jar e javadoc

Manual de Procedimentos para Desenvolvimento de Softwares

Configure seu Linux pela Web! Instalação à partir de um.tar.gz. Autor: Carlos Eduardo Ribeiro de Melo <eduardo at unisulma.edu.br> Data: 05/10/2004

Progress Exchange 2007

Utilizando subversion como controle de versão

Rede de Laboratórios de Produtividade de Software

Construindo portais com Plone. Módulo 11 Pacote Policy

Programação por Objectos

Alexandre Malveira, Wolflan Camilo

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

O primeiro passo é habilitar acesso externo através de web service a configuração é bem simples e não exige maiores explicações.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

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

Manual de Compilación

Capítulo 2 Introdução à ferramenta Flash

PJCUS-361 CONTRATO COM CÓDIGO DE BARRAS

02 - Usando o SiteMaster - Informações importantes

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

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

Tutorial Módulo 06 - Segurança

Tércio Oliveira de Almeida. TCC - Nexus - RAS

Gerência de Configuração. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia

Parallels Plesk Panel 11 Tour prático do Produto para Proprietários de Website

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

Instalação e Configuração do CollabNet Subversion Edge

J. M. Silveira Neto. Sun Campus Ambassador.

MANUAL DE UTILIZAÇÃO DO PLUGIN GERADOR DE PLUGINS DO TERRAVIEW

Desenvolvimento de um sistema de gestão acadêmica com software livre Rodrigo Bainy Fagundes

NETBEANS IDE UTILIZAÇAO DE RECURSOS PARA DESENVOLVIMENTO DE PROJETO JAVA WEB

Tutorial: Serviços web e suas composições

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural


Guia de Instalação e Utilização do plugin para Reconstrução Tomográfica em SPECT

PROJETO CEMEA. Um trabalho educacional


PRINCIPAIS DÚVIDAS NA UTILIZAÇÃO DO NOVO COMPONENTE RESPONSÁVEL PELAS OPERAÇÕES DE ANEXAÇÃO NO SCDP

Desenvolvendo Websites com Joomla. Breno Leonardo G. de M. Araújo

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Transcrição:

Desenvolvimento Flex com Maven Marvin H Froeder Julho 2009

Eu Desenvolvedor 5 anos Java 4 anos Flex 3 anos Maven -0 anos Flash

O que é Maven? É uma ferramenta de gestão de projetos de Software. Automatiza tarefas comuns como: Compilação Testes Análise e relatórios Qualquer outra coisas envolvida na construção do software

Porque Maven? Padronização Induz o uso de boas praticas Produz relatórios de qualidade Clara definição das dependências Facilita o compartilhamento de artefatos * Maven não suporta Flex, nativamente! Mais sobre maven: http://www.scribd.com/doc/15444941/sonatype-maven-training-module-one http://www.sonatype.com/books/maven-book/reference/

Ant X Maven Ant: <project> <target name="clean"> <delete dir="build"/> </target> <target name="compile"> <mkdir dir="build/classes"/> <javac srcdir="src" destdir="build/classes"/> </target> <target name="jar"> <mkdir dir="build/jar"/> <jar destfile="build/jar/helloworld.jar" basedir="build/classes"> <manifest> <attribute name="main- Class" value="oata.helloworld"/> </manifest> </jar> </target> Maven <project> <modelversion>4.0.0</modelversion> <groupid>com.mycompany.app</groupid> <artifactid>my-app</artifactid> <version>1.0-snapshot</version> <packaging>jar</packaging> <name>my company app</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project> </project>

Como? O que é? Plugin maven para desenvolvimento em Flex O que faz? Compila, testa, otimiza, gera asdoc, gera código a partir de classes Java, gera wrapper html...

Porque Flexmojos? Mais rápido Carrega o compilador apenas uma vez em memória Mais fácil Não necessita instalação do SDK Flex Mais completo Executa automaticamente testes E mais...

Instalando Baixar maven Descompactar Adicionar MAVEN_HOME/bin no PATH Criar settings.xml em USER_HOME/.m2 https://docs.sonatype.org/display/flexmojos/referencing+flexmojos+maven+repository ou Anexo 1 Testar $ mvn -version Não é necessário instalar o flexmojos

Criando um projeto simples $ mvn archetype:generate \ -DarchetypeRepository=http://repository.sonatype.org/content/groups/public \ -DarchetypeGroupId=org.sonatype.flexmojos \ -DarchetypeArtifactId=flexmojos-archetypes-library -DarchetypeVersion=3.0.0... 3.1.0... 3.2.0...

Explorando o projeto simples Projeto Arquivos fonte do projeto Conjunto de testes unitários Definição do projeto

O Pom... POM Project Object Model Objeto modelador do projeto Define a aparência do projeto Organização, SCM, time, site, metadados... Define as dependências do projeto Configuração de plugins Execução de plugins

O Pom... Identificação 1. <?xml version="1.0" encoding="utf-8"?> 2. <project> 3. <modelversion>4.0.0</modelversion> 4. 5. <groupid>org.tabajara</groupid> 6. <artifactid>flex-lib</artifactid> 7. <version>1.0-snapshot</version> 8. <packaging>swc</packaging> 9. 10. <name>flex-lib Flex</name>... 42. </project>

O Pom... suporte ao flex 1. <project>... 1. <build> 2. <sourcedirectory>src/main/flex</sourcedirectory> 3. <testsourcedirectory>src/test/flex</testsourcedirectory> 4. <plugins> 5. <plugin> 6. <groupid>org.sonatype.flexmojos</groupid> 7. <artifactid>flexmojos-maven-plugin</artifactid> 8. <version>3.1.0</version> 9. <extensions>true</extensions> 10. </plugin> 11. </plugins> 12. </build>... 42. </project>

O Pom... dependências 1. <project>... 1. <dependencies> 2. <dependency> 3. <groupid>com.adobe.flex.framework</groupid> 4. <artifactid>flex-framework</artifactid> 5. <version>3.2.0.3958</version> 6. <type>pom</type> 7. </dependency> 8. 9. <dependency> 10. <groupid>org.sonatype.flexmojos</groupid> 11. <artifactid>flexmojos-unittest-support</artifactid> 12. <version>3.1.0</version> 13. <type>swc</type> 14. <scope>test</scope> 15. </dependency> 16. </dependencies> 17. 18. </project> Flex SDK flex.swc framework.swc rpc.swc utilities.swc playerglobal.swc + locales

Executando maven $ mvn clean install Limpa pasta target Compila SWC Compila SWF de testes Executa os testes Salva SWC no repositório maven

Features Compilação SWC e SWF, tanto Air quanto Flex Flex 3 e Flex 4 Suporte a modules Localização para SWC e SWF, runtime e compilado Automatização de testes (vários frameworks) Geração de AsDoc Geração de Fontes AS3 ( default Granite 1.0 e 2.0 ) Geração e otimização de RSLs Geração de wrapper html Inclusão de artefatos Flex na geração de WAR Criação do projeto para Flexbuilder

Frameworks de testes Atualmente suportados: Flexunit 0.85 e 0.90 FUnit asunit Flex Monkey

Features planejadas Melhorias na execução de testes em servidores linux (headless) Asdoc DITA Flex 4 Suporte ao Flexunit 4 Suporte ao Mustella Relatório de cobertura para testes unitários Relatório de qualidade estilo PMD Integração com a IDE

Aplicação de referência Fontes: http://svn.sonatype.org/flexmojos/trunk/flexmojos-touchstone/todolist Destaques: Projetos Flex (SWC and SWF) Comunicação java-flex usando BlazeDS Geração de ActionScript POJOs com base nos Java POJOs Geração, otimizição e uso de RSL Localização Flex Inclusão das dependências Flex no WAR

Mais exemplos http://svn.sonatype.org/flexmojos/trunk/flexmojos-testing/flexmoj São exemplos reais utilizados para testes automatizados CACHING, modules, runtime css, optimizer, defines, geração de código, asdoc, e mais...

Dúvidas

Para onde seguir.. http://flexmojos.sonatype.org/ Site principal, links para wiki, jira, svn, maven docs... http://groups.google.com/group/flex-mojos Lista de usuários... * Todo conteúdo é em inglês

Anexo 1: Settings.xml <settings> <profiles> <profile> <id>flex-mojos</id> <repositories> <repository> <id>flex-mojos-repository</id> <url>repository.sonatype.org/content/groups/flexgroup/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginrepositories> <pluginrepository> <id>local</id> <url>repository.sonatype.org/content/groups/flexgroup/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>falseenabled> </snapshots> </pluginrepository> </pluginrepositories> </profile> </profiles> <activeprofiles> <activeprofile>flex-mojos</activeprofile> </activeprofiles> </settings>