SlideShare a Scribd company logo
Flex
      Continuous
     Quality Builds
Flex & (Ant || Maven)




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
No troll beyond this point




                                 http://www.flickr.com/photos/43454909@N00/2706102/

                                                                                      ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Building


       Ant :
                 FlexAntTasks
                Ant : Antennae

•      Maven :
          •     Flex-mojos (conseillé par la Flex Team)
                            •   Alternatives :
                                   • ServeBox (Projet Français)
                                   • and Israfil




                FlexMojos V3 est un projet sonatype
                Sonatype et Adobe travaillent ensemble pour le support FB dans m2eclipse




                                                                                           ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Mojos : http://flexmojos.sonatype.org




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Managing Dependencies


        Maven || (Ant + Ivy)




                 Demo : http://localhost:9999/hudson/job/cairngormenterprise/site/dependencies.html




                                                                                                      ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Managing Dependencies




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
(Unit)Test within your Build


        FlexUnit within your build




                          Maven




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Automated documentation and reports




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Quality control within your build


        Quality Reports within your build
                 AS3NCSS
                 http://localhost:9999/hudson/job/cairngorm/site/javancss.html




                 FlexPMD
                 http://localhost:9999/hudson/job/cairngorm/12/pmdResult/




                                                                                 ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Detect code anti-patterns : Flex PMD




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Continuous Integration


        CI : Continuous Quality Builds




                 Demo : http://localhost:9999/hudson/




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Demo Maven




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
A typical Java flex remoting web app

       Discover a « mavenized » Flex BlazeDS Spring project, and its modules :




                java_* are plain old maven java projects
                flex_* are flex-mojos project
                blazeds _service_config is a shared resource handled through maven assembly




                                                                                              ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Eclipse / m2eclipse / FlexBuilder

•      Note that once your project
       imported , you may still
          •     Use your favorite servers and eclipse
                plugins wtp facilities
          •     Debug your application
                   •     On the server side
                   •     On the client side
          •     Manage your dependencies and maven
                build through m2eclipse plugin.




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
http://www.flickr.com/photos/zzathras777/2401122079/



                                                                    ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Appendix :
       By the way …

       What is Maven ?




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
What is Maven anyway ? (very short definition)


        A build tool




                                                                                 •
        A dependency management tool                               •   A documentation and quality
                                                                             reporting tool




                                                                                                     ®




 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
What is Maven anyway ? (its architecture)




                                                                                       Plugin
                                                                                         jar


               Projects                                                                 Plugin
                                                            Maven Core
                to build                                                             flex-mojos


                                                                                       Plugin
                                                                                        war


                                     Local machine                       Remote repository or local install



                                                                                                              ®




 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
What is Maven anyway ? (its plug-ins, a few of them…)



 •        Antlr                                             •      Ear                •   Javancss               •   Release
 •        Ant                                               •      Eclipse            •   Jboss                  •   Repository
 •        AntRun                                            •      Ejb                •   Jcoverage Jdepend      •   Resources
 •        AspectJ                                           •      Ejb3               •   Jdiff                  •   Repository
 •        Assembly                                          •      Exec               •   Jelly                  •   Sablecc
 •        Assembly-report                                   •      Flex-mojos         •   Jetty                  •   Site
 •        Cargo                                             •      Flex-annotations   •   Jpox                   •   Slimdog
 •        Castor                                            •      Groovy             •   Jspc                   •   Source
 •        Changelog                                         •      Help               •   Jxr                    •   Surefire
 •        Changes                                           •      Hibernate2         •   MAnt                   •   Surefire-report
 •        Commons-attributes                                •      Idea               •   Native                 •   Taglist
 •        Checkstyle                                        •      Install            •   One                    •   Tomcat
 •        Clean                                             •      Issue              •   Par                    •   Verifier
 •        Clover                                            •      It                 •   Plugin                 •   Xslt
 •        Csharp                                            •      Jalopy             •   Pmd                    •   War
 •        Cobertura                                         •      Jar                •   Project-info-reports   •   Wsdl2java
 •        Compiler                                          •      Javacc             •   Rar                    •   Xdoclet
 •        Deploy                                            •      Javadoc                                       •   Xmlbeans
                                                                                                                 •   XRadar




                                                                                                                                       ®




 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Mojos : http://flexmojos.sonatype.org




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
What is Maven anyway ? (a common project format and organization)


        Maven is really a process of applying patterns to a build infrastructure
        in order to provide a coherent view of software projects.
        A Common project metadata format
                 POM = Project Object Model = pom.xml
                 Contains metadata about the project
                          Location of directories, Developers/Contributors, Issue tracking system, Dependencies,
                          Repositories to use, etc




                                                                                                                   ®




 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
What is Maven anyway ? (a common project format and organization)


        A common directory organization
                 Our sample of 6 nested projects :
                                                                   • src/
                                                                      – main/
                                                                            •   java/
                                                                            •   flex/
                                                                            •   resources/
                                                                            •   webapp/
                                                                      – test/
                                                                            • java/
                                                                            • flex/
                                                                            • resources/
                                                                      – site/



                                                                                             ®




 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
What is Maven anyway ? (a common way to build application)


                                                                      generate-
                                                                       sources                  mojo
                                                                       compile
                                                                                                  mojo
                                                                          test
                                                                                                mojo
                                                                       package                                plug-ins
                                                                      integration-
                                                                          test
                             user                                                                      mojo
                                                                        install
                                                                                                 mojo
           e.g. mvn install                                             deploy       bindings


                                                                   Well-known phases

                    The lifecycle depends on the project type (packaging)
                         Defined in pom.xml (pom, jar, ear, war, etc)
                         Ex: <packaging>swc</packaging>

                                                                                                                         ®




 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
What is Maven anyway ? (it’s even much more)


    Artifact repository :
              Used to store all kind of artifacts
                    SWCs, SWFs, JARs, EARs, WARs, EJBs, ZIPs, plugins, …
              All project interactions go through the repository
              No more relative paths!
              Easy to share between teams

    Dependency management                                                      A
        Transitive dependency management
        Snapshot handling                                                  B       C
    Multi-module built
                                                                                   D
    Environment dependent builds based on profile

    Project documentation site and report

    Project templating through archetype



                                                                                       ®




 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
http://farm3.static.flickr.com/2060/2401122079_9d45ae6252_o.jpg



                                                                               ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.

More Related Content

What's hot

The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
Arun Gupta
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
Arun Gupta
 
Sv jug - mar 2013 - sl
Sv jug - mar 2013 - slSv jug - mar 2013 - sl
Sv jug - mar 2013 - slCloudBees
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBayTony Ng
 
[Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic [Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic Challenge:Future
 
How the Atlassian Plugin SDK Cured Cancer and Reunited Soundgarden - Atlassia...
How the Atlassian Plugin SDK Cured Cancer and Reunited Soundgarden - Atlassia...How the Atlassian Plugin SDK Cured Cancer and Reunited Soundgarden - Atlassia...
How the Atlassian Plugin SDK Cured Cancer and Reunited Soundgarden - Atlassia...
Atlassian
 
Next Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise StackNext Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise Stack
Tim O'Brien
 
Embedding Web UIs in your Eclipse application
Embedding Web UIs in your Eclipse applicationEmbedding Web UIs in your Eclipse application
Embedding Web UIs in your Eclipse application
Boris Bokowski
 
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop FinalDavid Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
dcoletta
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
Arun Gupta
 
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Graham Charters
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seam
ashishkulkarni
 
02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)
Chuong Nguyen
 
Maven for eXo VN
Maven for eXo VNMaven for eXo VN
Maven for eXo VN
Arnaud Héritier
 
Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...
UA Mobile
 
Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011
Arun Gupta
 
Modernize your Solaris Apps
Modernize your Solaris AppsModernize your Solaris Apps
Modernize your Solaris AppsAppZero
 
Applet Returns: The new generation of Java Plug-ins
Applet Returns: The new generation of Java Plug-insApplet Returns: The new generation of Java Plug-ins
Applet Returns: The new generation of Java Plug-ins
Serge Rehem
 

What's hot (19)

The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 
Sv jug - mar 2013 - sl
Sv jug - mar 2013 - slSv jug - mar 2013 - sl
Sv jug - mar 2013 - sl
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
 
[Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic [Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic
 
How the Atlassian Plugin SDK Cured Cancer and Reunited Soundgarden - Atlassia...
How the Atlassian Plugin SDK Cured Cancer and Reunited Soundgarden - Atlassia...How the Atlassian Plugin SDK Cured Cancer and Reunited Soundgarden - Atlassia...
How the Atlassian Plugin SDK Cured Cancer and Reunited Soundgarden - Atlassia...
 
Next Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise StackNext Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise Stack
 
Embedding Web UIs in your Eclipse application
Embedding Web UIs in your Eclipse applicationEmbedding Web UIs in your Eclipse application
Embedding Web UIs in your Eclipse application
 
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop FinalDavid Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
 
Maven nutshell
Maven nutshellMaven nutshell
Maven nutshell
 
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seam
 
02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)
 
Maven for eXo VN
Maven for eXo VNMaven for eXo VN
Maven for eXo VN
 
Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...
 
Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011
 
Modernize your Solaris Apps
Modernize your Solaris AppsModernize your Solaris Apps
Modernize your Solaris Apps
 
Applet Returns: The new generation of Java Plug-ins
Applet Returns: The new generation of Java Plug-insApplet Returns: The new generation of Java Plug-ins
Applet Returns: The new generation of Java Plug-ins
 

Similar to Flex Continuous Quality Builds Flex & (Ant || Maven)

Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs Railo
Mohd Safian
 
Quality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise FlexQuality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise Flex
François Le Droff
 
Building Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiBuilding Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGi
Cédric Hüsler
 
Gemini WEB and Virgo
Gemini WEB and VirgoGemini WEB and Virgo
Gemini WEB and VirgoHristo Iliev
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Rack Lin
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinarCloudBees
 
Collab net overview_june 30 slide show
Collab net overview_june 30 slide showCollab net overview_june 30 slide show
Collab net overview_june 30 slide showsfelsenthal
 
Apache Maven at GenevaJUG by Arnaud Héritier
Apache Maven at GenevaJUG by Arnaud HéritierApache Maven at GenevaJUG by Arnaud Héritier
Apache Maven at GenevaJUG by Arnaud Héritier
GenevaJUG
 
Orion (What's Next conference)
Orion (What's Next conference)Orion (What's Next conference)
Orion (What's Next conference)
Boris Bokowski
 
In The Future We All Use Symfony2
In The Future We All Use Symfony2In The Future We All Use Symfony2
In The Future We All Use Symfony2
Brent Shaffer
 
Software Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab ManagementSoftware Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab Management
Nico Orschel
 
GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker
Uri Cohen
 
Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBees
Marco Vermeulen
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
Gabriel Walt
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Amazon Web Services
 
Subversion Edge Overview
Subversion Edge OverviewSubversion Edge Overview
Subversion Edge Overview
LotharSchubert
 
Flex 3 Deep Dive
Flex 3 Deep DiveFlex 3 Deep Dive
Flex 3 Deep Dive
Effective
 
V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010
Pablo Roesch
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsAmazon Web Services
 
Crx 2.2 Deep-Dive
Crx 2.2 Deep-DiveCrx 2.2 Deep-Dive
Crx 2.2 Deep-Dive
Gabriel Walt
 

Similar to Flex Continuous Quality Builds Flex & (Ant || Maven) (20)

Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs Railo
 
Quality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise FlexQuality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise Flex
 
Building Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiBuilding Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGi
 
Gemini WEB and Virgo
Gemini WEB and VirgoGemini WEB and Virgo
Gemini WEB and Virgo
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
 
Collab net overview_june 30 slide show
Collab net overview_june 30 slide showCollab net overview_june 30 slide show
Collab net overview_june 30 slide show
 
Apache Maven at GenevaJUG by Arnaud Héritier
Apache Maven at GenevaJUG by Arnaud HéritierApache Maven at GenevaJUG by Arnaud Héritier
Apache Maven at GenevaJUG by Arnaud Héritier
 
Orion (What's Next conference)
Orion (What's Next conference)Orion (What's Next conference)
Orion (What's Next conference)
 
In The Future We All Use Symfony2
In The Future We All Use Symfony2In The Future We All Use Symfony2
In The Future We All Use Symfony2
 
Software Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab ManagementSoftware Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab Management
 
GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker
 
Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBees
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Subversion Edge Overview
Subversion Edge OverviewSubversion Edge Overview
Subversion Edge Overview
 
Flex 3 Deep Dive
Flex 3 Deep DiveFlex 3 Deep Dive
Flex 3 Deep Dive
 
V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer Tools
 
Crx 2.2 Deep-Dive
Crx 2.2 Deep-DiveCrx 2.2 Deep-Dive
Crx 2.2 Deep-Dive
 

More from François Le Droff

Implémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans codeImplémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans code
François Le Droff
 
Master chef and puppet show - Devoxx France 2014
Master chef and puppet show - Devoxx France 2014Master chef and puppet show - Devoxx France 2014
Master chef and puppet show - Devoxx France 2014
François Le Droff
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
François Le Droff
 
Soirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jugSoirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jug
François Le Droff
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
François Le Droff
 
Flex & Java @ TourJUG
Flex & Java @ TourJUGFlex & Java @ TourJUG
Flex & Java @ TourJUG
François Le Droff
 
Flex & Java @ NormandieJUG
Flex & Java @ NormandieJUGFlex & Java @ NormandieJUG
Flex & Java @ NormandieJUG
François Le Droff
 
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceSoirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
François Le Droff
 
Flash Catalyst Jug
Flash Catalyst JugFlash Catalyst Jug
Flash Catalyst Jug
François Le Droff
 
Flex Services And Spring with Spring-Flex ParisJug
Flex Services And Spring with Spring-Flex ParisJugFlex Services And Spring with Spring-Flex ParisJug
Flex Services And Spring with Spring-Flex ParisJug
François Le Droff
 
The Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingThe Spring of Adobe Flex Remoting
The Spring of Adobe Flex Remoting
François Le Droff
 

More from François Le Droff (11)

Implémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans codeImplémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans code
 
Master chef and puppet show - Devoxx France 2014
Master chef and puppet show - Devoxx France 2014Master chef and puppet show - Devoxx France 2014
Master chef and puppet show - Devoxx France 2014
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
 
Soirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jugSoirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jug
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
 
Flex & Java @ TourJUG
Flex & Java @ TourJUGFlex & Java @ TourJUG
Flex & Java @ TourJUG
 
Flex & Java @ NormandieJUG
Flex & Java @ NormandieJUGFlex & Java @ NormandieJUG
Flex & Java @ NormandieJUG
 
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceSoirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
 
Flash Catalyst Jug
Flash Catalyst JugFlash Catalyst Jug
Flash Catalyst Jug
 
Flex Services And Spring with Spring-Flex ParisJug
Flex Services And Spring with Spring-Flex ParisJugFlex Services And Spring with Spring-Flex ParisJug
Flex Services And Spring with Spring-Flex ParisJug
 
The Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingThe Spring of Adobe Flex Remoting
The Spring of Adobe Flex Remoting
 

Recently uploaded

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

Flex Continuous Quality Builds Flex & (Ant || Maven)

  • 1. Flex Continuous Quality Builds Flex & (Ant || Maven) ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 2. No troll beyond this point http://www.flickr.com/photos/43454909@N00/2706102/ ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 3. Building Ant : FlexAntTasks Ant : Antennae • Maven : • Flex-mojos (conseillé par la Flex Team) • Alternatives : • ServeBox (Projet Français) • and Israfil FlexMojos V3 est un projet sonatype Sonatype et Adobe travaillent ensemble pour le support FB dans m2eclipse ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 4. Flex Mojos : http://flexmojos.sonatype.org ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 5. Managing Dependencies Maven || (Ant + Ivy) Demo : http://localhost:9999/hudson/job/cairngormenterprise/site/dependencies.html ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 6. Managing Dependencies ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 7. (Unit)Test within your Build FlexUnit within your build Maven ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 8. Automated documentation and reports ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 9. Quality control within your build Quality Reports within your build AS3NCSS http://localhost:9999/hudson/job/cairngorm/site/javancss.html FlexPMD http://localhost:9999/hudson/job/cairngorm/12/pmdResult/ ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 10. Detect code anti-patterns : Flex PMD ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 11. Continuous Integration CI : Continuous Quality Builds Demo : http://localhost:9999/hudson/ ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 12. Demo Maven ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 13. A typical Java flex remoting web app Discover a « mavenized » Flex BlazeDS Spring project, and its modules : java_* are plain old maven java projects flex_* are flex-mojos project blazeds _service_config is a shared resource handled through maven assembly ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 14. Eclipse / m2eclipse / FlexBuilder • Note that once your project imported , you may still • Use your favorite servers and eclipse plugins wtp facilities • Debug your application • On the server side • On the client side • Manage your dependencies and maven build through m2eclipse plugin. ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 15. http://www.flickr.com/photos/zzathras777/2401122079/ ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 16. Appendix : By the way … What is Maven ? ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 17. What is Maven anyway ? (very short definition) A build tool • A dependency management tool • A documentation and quality reporting tool ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 18. What is Maven anyway ? (its architecture) Plugin jar Projects Plugin Maven Core to build flex-mojos Plugin war Local machine Remote repository or local install ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 19. What is Maven anyway ? (its plug-ins, a few of them…) • Antlr • Ear • Javancss • Release • Ant • Eclipse • Jboss • Repository • AntRun • Ejb • Jcoverage Jdepend • Resources • AspectJ • Ejb3 • Jdiff • Repository • Assembly • Exec • Jelly • Sablecc • Assembly-report • Flex-mojos • Jetty • Site • Cargo • Flex-annotations • Jpox • Slimdog • Castor • Groovy • Jspc • Source • Changelog • Help • Jxr • Surefire • Changes • Hibernate2 • MAnt • Surefire-report • Commons-attributes • Idea • Native • Taglist • Checkstyle • Install • One • Tomcat • Clean • Issue • Par • Verifier • Clover • It • Plugin • Xslt • Csharp • Jalopy • Pmd • War • Cobertura • Jar • Project-info-reports • Wsdl2java • Compiler • Javacc • Rar • Xdoclet • Deploy • Javadoc • Xmlbeans • XRadar ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 20. Flex Mojos : http://flexmojos.sonatype.org ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 21. What is Maven anyway ? (a common project format and organization) Maven is really a process of applying patterns to a build infrastructure in order to provide a coherent view of software projects. A Common project metadata format POM = Project Object Model = pom.xml Contains metadata about the project Location of directories, Developers/Contributors, Issue tracking system, Dependencies, Repositories to use, etc ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 22. What is Maven anyway ? (a common project format and organization) A common directory organization Our sample of 6 nested projects : • src/ – main/ • java/ • flex/ • resources/ • webapp/ – test/ • java/ • flex/ • resources/ – site/ ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 23. What is Maven anyway ? (a common way to build application) generate- sources mojo compile mojo test mojo package plug-ins integration- test user mojo install mojo e.g. mvn install deploy bindings Well-known phases The lifecycle depends on the project type (packaging) Defined in pom.xml (pom, jar, ear, war, etc) Ex: <packaging>swc</packaging> ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 24. What is Maven anyway ? (it’s even much more) Artifact repository : Used to store all kind of artifacts SWCs, SWFs, JARs, EARs, WARs, EJBs, ZIPs, plugins, … All project interactions go through the repository No more relative paths! Easy to share between teams Dependency management A Transitive dependency management Snapshot handling B C Multi-module built D Environment dependent builds based on profile Project documentation site and report Project templating through archetype ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 25. http://farm3.static.flickr.com/2060/2401122079_9d45ae6252_o.jpg ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.