SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Sv jug - mar 2013 - sl
Sv jug - mar 2013 - slSv jug - mar 2013 - sl
Sv jug - mar 2013 - sl
CloudBees
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
Tony Ng
 
[Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic [Challenge:Future] Chocoholic
[Challenge:Future] Chocoholic
Challenge:Future
 
Modernize your Solaris Apps
Modernize your Solaris AppsModernize your Solaris Apps
Modernize your Solaris Apps
AppZero
 

Was ist angesagt? (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
 

Ähnlich wie Flex Continuous Quality Builds Flex & (Ant || Maven)

Gemini WEB and Virgo
Gemini WEB and VirgoGemini WEB and Virgo
Gemini WEB and Virgo
Hristo Iliev
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
CloudBees
 
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
sfelsenthal
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer Tools
Amazon Web Services
 

Ähnlich wie 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
 

Mehr von François Le Droff

Mehr von 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
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

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.