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

PDF
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
PPTX
From Ant to Maven to Gradle a tale of CI tools for JVM
PDF
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
PDF
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
PDF
Alpes Jug (29th March, 2010) - Apache Maven
PDF
Geneva Jug (30th March, 2010) - Maven
PDF
Lausanne Jug (08th April, 2010) - Maven
PDF
Riviera JUG (20th April, 2010) - Maven
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
From Ant to Maven to Gradle a tale of CI tools for JVM
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Alpes Jug (29th March, 2010) - Apache Maven
Geneva Jug (30th March, 2010) - Maven
Lausanne Jug (08th April, 2010) - Maven
Riviera JUG (20th April, 2010) - Maven

What's hot (19)

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

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

KEY
Wonderful World of Maven
PPT
Java Build Tools
PDF
Apache Maven at GenevaJUG by Arnaud Héritier
PPT
Maven overview
PDF
Make Your Builds More Groovy
PDF
make builds groovy
PDF
Spring Roo Flex Add-on
KEY
An Introduction to Maven and Flex
PDF
Eclipse vs Netbean vs Railo
PDF
Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...
PDF
Crx 2.2 Deep-Dive
PDF
Maven: from Scratch to Production (.pdf)
KEY
Building cloud-tools-for-netflix-code mash2012
PDF
Cross-Build Injection attacks: how safe is your Java build?
PDF
Apache Maven - eXo TN presentation
PDF
Practical maven-slides 2
PDF
Drupal and-flex-drupal camp
PDF
air
PDF
Building Content Applications with JCR and OSGi
Wonderful World of Maven
Java Build Tools
Apache Maven at GenevaJUG by Arnaud Héritier
Maven overview
Make Your Builds More Groovy
make builds groovy
Spring Roo Flex Add-on
An Introduction to Maven and Flex
Eclipse vs Netbean vs Railo
Next Generation Development Infrastructure: Maven, m2eclipse, Nexus & Hudson ...
Crx 2.2 Deep-Dive
Maven: from Scratch to Production (.pdf)
Building cloud-tools-for-netflix-code mash2012
Cross-Build Injection attacks: how safe is your Java build?
Apache Maven - eXo TN presentation
Practical maven-slides 2
Drupal and-flex-drupal camp
air
Building Content Applications with JCR and OSGi
Ad

More from François Le Droff (12)

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

Recently uploaded (20)

PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
KodekX | Application Modernization Development
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
Cloud computing and distributed systems.
PDF
Machine learning based COVID-19 study performance prediction
Review of recent advances in non-invasive hemoglobin estimation
KodekX | Application Modernization Development
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Reach Out and Touch Someone: Haptics and Empathic Computing
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
MYSQL Presentation for SQL database connectivity
GamePlan Trading System Review: Professional Trader's Honest Take
“AI and Expert System Decision Support & Business Intelligence Systems”
NewMind AI Weekly Chronicles - August'25 Week I
Network Security Unit 5.pdf for BCA BBA.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Cloud computing and distributed systems.
Machine learning based COVID-19 study performance prediction

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.