SlideShare a Scribd company logo
1 of 59
Download to read offline
Apache Maven 3.x
WILL IT LIVE UP TO ITS PROMISES?




                                     Arnaud Héritier
                           Software Factory Manager
                           L AVA J U G - J U N E 2 0 1 2
ARNAUD HÉRITIER

                                   −  eXo - Software Factory
                                        Manager
                                         −  In charge of tools and
                                              methods
                                   −  Apache Maven :
                                          −  Committer since 2004 and
                                              member of the Project
                                              Management Committee
                                   −  Coauthor of « Apache
                                        Maven»
                                         −  published by Pearson (in
                                              French)
                                   −  Contact me :
                                          −  http://aheritier.net
                                          −  Twitter : @aheritier
                                          −  Skype : aheritier

          www.exoplatform.com - Copyright 2012 eXo Platform
                                                                        2
1   −  Why Apache Maven?




2   −  Apache Maven 3.x, Where are we, where are we going to …
        −  Community, Resources,
        −  Backward Compatibility, Performances, Extensibility, Robustness, Pom


3   −  Tesla
        −  What is it ?




4   −  Questions




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                  3
Why ?
A PA C H E M AV E N ( 3 . X )
DEFINITION

−  Apache Maven is a software project management and
  comprehension tool.

−  Based on the concept of a project object model (POM)
   −  can manage a project's build, binaries, reporting and documentation
      from a central piece of information.

−  Apache Maven is standards/conventions driven
   −  How many of you are doing JEE and related developments ?




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                            5
H I S T O RY




−  Initiated in 2001 by Jason Van Zyl in Alexandria, an Apache Jakarta project,
−  Moved to Turbine few months after,
−  Became a Top Level Project in 2003.
−  2.0 released in September 2005
−  3.0 released in October 2010
    −  3.0.4 – January 2012




                        www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                  6
C H O O S E Y O U R WAY O F T H I N K I N G


Conventions approach                      Scripting approach




                www.exoplatform.com - Copyright 2012 eXo Platform
                                                                    7
C O M P E T I T O R S ( I N J AVA L A N D )

−  Ant + Ivy, Easy Ant, Gant, Gradle, Buildr…

−  Script oriented
   −  You can do what you want !

−  Reuse many of conventions (directories layout, …) and
  services (repositories) but without enforcing them

−  The risk for them : Not being able to evolve due to the too high
  level of customization proposed to the user.
   −  We tried on 1 and it died because of that. It was impossible to create a
      set of tests to cover all usages.
   −  It’s like providing a framework without a well tested set of public API L




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                   8
WITH SCRIPTS ORIENTED BUILDS

You can have                                But often you have
(if you have good skills)                   (moreover after years …)




                  www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       9
W I T H M AV E N

We dream to deliver                       But yesterday we too often
(Maven 3.x)                               had (Maven 2.x)




                www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       10
Where are we ?
Where are we going to ?
A PA C H E M AV E N 3 . X
Apache Maven 3.x

COMMUNITY


                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       12
USERS MAILING LIST

−  Blue :                                    −  users@maven.apache.org
    −  Number of subscribers                        −  Traffic statistics cover a total
−  Red :                                               of 2338 days (>6y).
    −  Number of messages per day                   −  Current subscribers: 1902
                                                    −  Total posts: 95442
                                                    −  Mean posts per day: 40.82

                                             −  http://pulse.apache.org/




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                          13
DEV MAILING LIST

−  Blue :                                    −  dev@maven.apache.org
    −  Number of subscribers                        −  Traffic statistics cover a total
−  Red :                                               of 2338 days (>6y).
    −  Number of messages per day                   −  Current subscribers: 676
                                                    −  Total posts: 63215
                                                    −  Mean posts per day: 27,04

                                             −  http://pulse.apache.org/




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                          14
A PA C H E M AV E N W E B S I T E




               www.exoplatform.com - Copyright 2012 eXo Platform
                                                                   15
A PA C H E M AV E N W E B S I T E




               www.exoplatform.com - Copyright 2012 eXo Platform
                                                                   16
DOWLOADS




−  Per month downloads

−  http://people.apache.org/~vgritsenko/stats/projects/maven.html




                  www.exoplatform.com - Copyright 2012 eXo Platform
                                                                      17
RELEASES (LAST 2 MONTHS)

−  Plugins                                      −  Libraries
   −    Compiler 2.5.1 (2012-06-04)                    −  Tools 3.0 (2012-05-31)
   −    Changes 2.7.1 (2012-05-10)
                                                       −  Runtime 1.0-alpha-3
   −    Shade 1.7 (2012-06-01)                              (2012-05-28)
   −    Compiler 2.5 (2012-05-27)
                                                       −    Testing 2.0 (2012-05-27)
   −    Clean 2.5 (2012-05-26)
   −    Release 2.3.1 (2012-05-25)                     −    Enforcer 1.1 (2012-05-14)
   −    Invoker 1.6 (2012-05-24)                       −    SCM 1.7 (2012-04-29)
   −    Remote Resources 1.3                           −    Doxia (base) 1.3 (2012-04-13)
        (2012-05-11)                                   −    Doxia Sitetools 1.3
   −    Release 2.3 (2012-05-11)                            (2012-04-17)
   −    Site 3.1 (2012-04-30)
   −    Changes 2.7 (2012-04-30)
   −    Compiler 2.4 (2012-04-30)
   −    Site 2.4 (2012-04-26)




                      www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                            18
THE COMMUNITY

−  ~20 PMC, ~20 committers, ~20 emeritus

−  A community less isolated : more interactions with Eclipse,
  Jetty, …

−  A new French PMC Chair in few days : Olivier Lamy
  (Cocorico !!!)




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       19
Apache Maven 3.x

RESOURCES


                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       20
BOOKS

−  Nicolas De loof
  Arnaud Héritier
   −  Published by Pearson
   −  Collection Référence
   −  Based on our own
      experiences with Maven.
   −  From beginners to experts.
   −  In French only




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                         21
BOOKS

−  Sonatype / O’Reilly :
   −  The Definitive Guide
   −  http://www.sonatype.com/
      books
   −  Free download
   −  Available in several
      languages




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                         22
BOOKS

−  Apache Maven 2 Effective
  Implementation
   −  Brett Porter, Maria Odea
      Ching
   −  https://www.packtpub.com/
      apache-maven-2-effective-
      implementation/book




                    www.exoplatform.com - Copyright 2012 eXo Platform
                                                                        23
BOOKS

−  Exist Global
   −  Better builds with Maven
   −  http://www.maestrodev.com/
      better-build-maven
   −  Free download




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       24
MANY OTHERS RESOURCES

−  Many companies are providing trainings and expertise
−  Many resources on internet (blogs, ….)
−  The main web site :
    −  http://maven.apache.org
−  Project’s team wiki :
    −  http://docs.codehaus.org/display/MAVEN
−  Project’s users wiki :
    −  http://docs.codehaus.org/display/MAVENUSER
−  Mailing lists
    −  http://maven.apache.org/mail-lists.html
−  IRC
    −  irc.codehaus.org - #maven
−  Forums
    −  developpez.net (In French)
    −  Stackoverflow


                         www.exoplatform.com - Copyright 2012 eXo Platform
                                                                             25
Apache Maven 3.x

BACKWARD COMPATIBILITY


                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       26
B A C K WA R D C O M PAT I B I L I T Y
CRITICISMS
−  Migration from Maven 1 to 2 was impossible. Everything had to
  be re-done.

−  Updates between 2.x versions and also between 2.0.x weren’t
  too often without side effects.




                  www.exoplatform.com - Copyright 2012 eXo Platform
                                                                      27
B A C K WA R D C O M PAT I B I L I T Y

−  Near to 700 integration tests

−  Tested for several months on a large set of OSS projects

−  7 alphas + 3 betas versions

−  It’s a revolution under the hood but an evolution for end users




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       28
M AV E N 3 . 0 . X I T S




                                674




                  www.exoplatform.com - Copyright 2012 eXo Platform
                                                                      29
Apache Maven 3.x

PERFORMANCES


                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       30
PERFORMANCES - CRITICISMS

−  Maven is slow

−  It spends its time to download the world

−  Whereas everybody has multicore CPUs, it doesn’t allow to
  process tasks in parallel




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       31
PERFORMANCES

−  A set of benchmark tools was developed to measure
  performances (IO, CPU, Memory, Network …)

−  Startup and execution times are reduced
   −  Java 5 optimizations
   −  Code cleanup and improvements

−  Reduced Memory footprint

−  Artifacts Resolution Caching
   −  .lastUpdated files in your local repo
   −  Enforce checks with –U option




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                         32
P E R F O R M A N C E S – PA R A L L E L B U I L D S

−  Parallel builds
   −  An execution plan is predefined at startup to define which modules
      could be built in //
   −  Requires to have up to date plugins to avoid dead locks and some
      others issues
   −  Launch a build with 2 threads
       −  mvn –T 2 install
   −  Launch a build with 2 threads per CPU core
       −  mvn –T 2C install




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                           33
PERFORMANCES - PLUGINS

−  Many improvements in plugins
   −  In Surefire/Failsafe to propose various strategies to execute tests in //
      and to order them
   −  In Compiler to keep loaded the classloader used by Javac
   −  In Packaging plugins (Assembly, Jar, War, …) by improving
      performances in low level libraries (plexus …)




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                  34
Apache Maven 3.x

EXTENSIBILITY


                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       35
EXTENSIBILITY - CRITICISMS

−  It is difficult and time consuming to extend Maven (write
  plugins)
   −  Many unknown technologies like Plexus for IOC

−  It is difficult/impossible to reuse Maven plugins
   −  Its impossible to extend plugins/mojo and lifecycles




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                         36
EXTENSIBILITY

−  New APIs to improve abstraction of underneath implementation
   −  Aether : to manage artifacts and repositories

−  Classloader partitioning

−  Embeddable

−  IOC replaced by Guice
   −  For now (Maven 3.0) a wrapper is hiding the change
   −  You don’t yet use Guice directly (from plugins for example)




                    www.exoplatform.com - Copyright 2012 eXo Platform
                                                                        37
Apache Maven 3.x

ROBUSTNESS


                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       38
ROBUSTNESS - CRITICISMS

−  Builds aren’t predictable

−  Errors are difficult to diagnose




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       39
R O B U S T N E S S - VA L I D AT I O N S

−  Many more validations in POMs (warnings or errors)
   −  Missing plugins versions
   −  Duplicated dependencies in a POM
   −  Incoherent inheritance (wrong relative path or parent not in the upper
      directory)

−  Improved error messages with links to wiki pages for more
  detailed information




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                               40
ROBUSTNESS
A R T I FA C T S M A N A G E M E N T
−  Parent POMs prefer to resolve from repositories
   −  Version less parent will be available in a future 3.x release by using the
      relativePath element

−  Profiles usage consolidation
   −  No more profiles.xml (incompatible with future polyglot feature)




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                   41
ROBUSTNESS
A R T I FA C T S M A N A G E M E N T
−  No more support for legacy repository layout for Maven 1.0

−  SNAPSHOTs are always deployed with timestamps




                  www.exoplatform.com - Copyright 2012 eXo Platform
                                                                      42
ROBUSTNESS
PLUGINS MANAGEMENT
−  version is by default RELEASE and no more SNAPSHOT
   −  Affects command-line invocation

−  Plugins cannot use versions LATEST or RELEASE
   −  Affects command-line invocation and POM

−  Plugins are resolved only from <pluginRepository> entries




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       43
ROBUSTNESS – SITE PLUGIN

−  Site is now completely extracted from core
   −  It has its own lifecycle
   −  reporting section in POM becomes useless (moved in configuration)




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                          44
Apache Maven 3.x

POM


                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       45
CRITICISMS

−  XML, we don’t like it

−  POM is too verbose

−  POM v4 didn’t evolve last 5 years
   −  When will you add new common attributes to ease plugins
      configuration (encoding …)
   −  New feature like global exclusions




                    www.exoplatform.com - Copyright 2012 eXo Platform
                                                                        46
POM

−  No change in POM syntax for 3.0.x

−  Changes will occur in 3.x versions
   −  New model with a new version
   −  Only new things
   −  Generation / deployment of 4.0.0 current POM to keep backward
      compatibility with old versions

−  Mixins to allow to import POM fragments




                     www.exoplatform.com - Copyright 2012 eXo Platform
                                                                         47
Tesla
W H AT I S I T ?
W H AT ! Y O U F O R K E D A PA C H E M AV E N ?




               www.exoplatform.com - Copyright 2012 eXo Platform
                                                                   49
A F O R K O F A PA C H E M AV E N ?

−  “The build portion of Tesla are extensions to Maven. The small
  differences in the core I currently have will be contributed
  back.” - Jason van Zyl

−  “It’s fork as long as Apache Maven core differences aren’t
  proposed to be contributed back AND validated by the Apache
  Maven team” – Arnaud and others Apache Maven members




                  www.exoplatform.com - Copyright 2012 eXo Platform
                                                                      50
W H AT I S T E S L A ?

−  A new project leaded by Jason Van Zyl

−  Sources are on Github : https://github.com/etesla

−  License : Eclipse Public License v1.0

−  “It is not just about builds. Build, IDE, CI, repository
   management and provisioning.” - Jason Van Zyl

    −  It is a set of extensions on top of existing tools : Apache Maven, M2E,
       Nexus, Hudson, …




                      www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                 51
F E AT U R E S

−  Local repository:
    −  Concurrent Local Repository
    −  Automatic Local Snapshot Purging
    −  Split Local Repository

−  Polyglot Support
−  development:
                                                        In Apache
    −  Java 5 Annotation-based API                      since few weeks too
    −  JSR-330 (DI) Components in Plugins

−  Build Avoidance API
−  Several New Extension Points
−  TeslaShell
−  More to come!

                       www.exoplatform.com - Copyright 2012 eXo Platform
                                                                              52
A U T O M AT I C L O C A L S N A P S H O T P U R G I N G




                 www.exoplatform.com - Copyright 2012 eXo Platform
                                                                     53
P O LY G L O T S U P P O R T




                www.exoplatform.com - Copyright 2012 eXo Platform
                                                                    54
TESLA SHELL




          www.exoplatform.com - Copyright 2012 eXo Platform
                                                              55
TESLA SHELL




          www.exoplatform.com - Copyright 2012 eXo Platform
                                                              56
Thank You
QUESTIONS?
LICENCE ET COPYRIGHTS

−  Photos and logos belong to their respective authors/owners

−  Various ideas are coming from the excellent presentation done
  by Matthew McCullough :
   −  http://www.slideshare.net/matthewmccullough/maven-30-at-oredev

−  Tesla details are coming from Anders Hammar’s presentation
  for Jfocus 2012
   −  http://goo.gl/XNPpQ




                   www.exoplatform.com - Copyright 2012 eXo Platform
                                                                       58
LICENCE ET COPYRIGHTS

−  Content under Creative Commons 3.0
   −  Attribution — You must attribute the work in the manner specified by
      the author or licensor (but not in any way that suggests that they
      endorse you or your use of the work).
   −  Noncommercial — You may not use this work for commercial purposes.
   −  Share Alike — If you alter, transform, or build upon this work, you may
      distribute the resulting work only under the same or similar license to
      this one.


− http://creativecommons.org/licenses/by-nc-sa/3.0/
  us/




                    www.exoplatform.com - Copyright 2012 eXo Platform
                                                                                59

More Related Content

What's hot

The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012Arun Gupta
 
Easy Integration with Apache Camel and Fuse IDE
Easy Integration with Apache Camel and Fuse IDEEasy Integration with Apache Camel and Fuse IDE
Easy Integration with Apache Camel and Fuse IDEJBUG London
 
Happy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMCHappy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMCLudovic A
 
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010Atlassian
 
The Diabolical Developer's Guide to Surviving Java 9
The Diabolical Developer's Guide to Surviving Java 9The Diabolical Developer's Guide to Surviving Java 9
The Diabolical Developer's Guide to Surviving Java 9jClarity
 

What's hot (6)

The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
 
Easy Integration with Apache Camel and Fuse IDE
Easy Integration with Apache Camel and Fuse IDEEasy Integration with Apache Camel and Fuse IDE
Easy Integration with Apache Camel and Fuse IDE
 
Camel overview
Camel overview Camel overview
Camel overview
 
Happy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMCHappy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMC
 
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
 
The Diabolical Developer's Guide to Surviving Java 9
The Diabolical Developer's Guide to Surviving Java 9The Diabolical Developer's Guide to Surviving Java 9
The Diabolical Developer's Guide to Surviving Java 9
 

Viewers also liked

YaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promisesYaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promisesArnaud Héritier
 
Hands on iOS developments with jenkins
Hands on iOS developments with jenkinsHands on iOS developments with jenkins
Hands on iOS developments with jenkinsArnaud Héritier
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory OverviewArnaud Héritier
 
2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory OverviewArnaud Héritier
 
Sonar In Action 20110302-vn
Sonar In Action 20110302-vnSonar In Action 20110302-vn
Sonar In Action 20110302-vnArnaud Héritier
 
Java is evolving rapidly: Maven helps you staying on track
Java is evolving rapidly:  Maven helps you staying on trackJava is evolving rapidly:  Maven helps you staying on track
Java is evolving rapidly: Maven helps you staying on trackArnaud Héritier
 
CRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieCRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieArnaud Héritier
 
Quand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les railsQuand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les railsArnaud Héritier
 

Viewers also liked (8)

YaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promisesYaJUG-Maven 3.x, will it lives up to its promises
YaJUG-Maven 3.x, will it lives up to its promises
 
Hands on iOS developments with jenkins
Hands on iOS developments with jenkinsHands on iOS developments with jenkins
Hands on iOS developments with jenkins
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory Overview
 
2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview2014 August - eXo Software Factory Overview
2014 August - eXo Software Factory Overview
 
Sonar In Action 20110302-vn
Sonar In Action 20110302-vnSonar In Action 20110302-vn
Sonar In Action 20110302-vn
 
Java is evolving rapidly: Maven helps you staying on track
Java is evolving rapidly:  Maven helps you staying on trackJava is evolving rapidly:  Maven helps you staying on track
Java is evolving rapidly: Maven helps you staying on track
 
CRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieCRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - Quickie
 
Quand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les railsQuand java prend de la vitesse, apache maven vous garde sur les rails
Quand java prend de la vitesse, apache maven vous garde sur les rails
 

Similar to LavaJUG-Maven 3.x, will it lives up to its promises

Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...OW2
 
EMC World 2016 - code.08 Introduction to Mesos and Mesosphere
EMC World 2016 - code.08 Introduction to Mesos and MesosphereEMC World 2016 - code.08 Introduction to Mesos and Mesosphere
EMC World 2016 - code.08 Introduction to Mesos and Mesosphere{code}
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishBruno Cornec
 
HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19btopro
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware
 
EMC World 2016 - Introduction to Mesos and Mesosphere
EMC World 2016 - Introduction to Mesos and MesosphereEMC World 2016 - Introduction to Mesos and Mesosphere
EMC World 2016 - Introduction to Mesos and MesosphereDavid vonThenen
 
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyJean-Sebastien Delfino
 
Extending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesExtending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesNicola Ferraro
 
Open World Forum 2012 : eXo & the Cloud
Open World Forum 2012 : eXo & the CloudOpen World Forum 2012 : eXo & the Cloud
Open World Forum 2012 : eXo & the CloudTugdual Grall
 
JavaOne 2016 - Faces Counter
JavaOne 2016 -  Faces CounterJavaOne 2016 -  Faces Counter
JavaOne 2016 - Faces CounterCoritel
 
Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015
Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015
Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015Krzysztof Sobkowiak
 
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for ApplicationsEMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for ApplicationsDavid vonThenen
 
O2 presentation jan 09 - v1.00
O2  presentation   jan 09 - v1.00O2  presentation   jan 09 - v1.00
O2 presentation jan 09 - v1.00Dinis Cruz
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07Jorge Hidalgo
 
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...{code}
 
OWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust Theorem
OWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust TheoremOWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust Theorem
OWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust TheoremOWASP
 
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP EcosystemWhat is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP Ecosystemsparkfabrik
 
CI/CD with Docker, DC/OS, and Jenkins
CI/CD with Docker, DC/OS, and JenkinsCI/CD with Docker, DC/OS, and Jenkins
CI/CD with Docker, DC/OS, and JenkinsKarl Isenberg
 

Similar to LavaJUG-Maven 3.x, will it lives up to its promises (20)

Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
 
EMC World 2016 - code.08 Introduction to Mesos and Mesosphere
EMC World 2016 - code.08 Introduction to Mesos and MesosphereEMC World 2016 - code.08 Introduction to Mesos and Mesosphere
EMC World 2016 - code.08 Introduction to Mesos and Mesosphere
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
 
HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19HAXTheWeb @ Apereo 19
HAXTheWeb @ Apereo 19
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 
EMC World 2016 - Introduction to Mesos and Mesosphere
EMC World 2016 - Introduction to Mesos and MesosphereEMC World 2016 - Introduction to Mesos and Mesosphere
EMC World 2016 - Introduction to Mesos and Mesosphere
 
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache TuscanyApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
ApacheCon NA 2010 - Developing Composite Apps for the Cloud with Apache Tuscany
 
Extending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesExtending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with Kubernetes
 
Open World Forum 2012 : eXo & the Cloud
Open World Forum 2012 : eXo & the CloudOpen World Forum 2012 : eXo & the Cloud
Open World Forum 2012 : eXo & the Cloud
 
JavaOne 2016 - Faces Counter
JavaOne 2016 -  Faces CounterJavaOne 2016 -  Faces Counter
JavaOne 2016 - Faces Counter
 
Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015
Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015
Integrate (Yourself) with the Apache Software Foundation - Open Source Day 2015
 
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for ApplicationsEMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
EMC World 2016 - Deep Dive with Mesos and Persistent Storage for Applications
 
O2 presentation jan 09 - v1.00
O2  presentation   jan 09 - v1.00O2  presentation   jan 09 - v1.00
O2 presentation jan 09 - v1.00
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
 
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
EMC World 2016 - code.14 Deep Dive with Mesos and Persistent Storage for Appl...
 
AppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 PrimerAppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 Primer
 
OWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust Theorem
OWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust TheoremOWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust Theorem
OWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust Theorem
 
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP EcosystemWhat is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
 
CI/CD with Docker, DC/OS, and Jenkins
CI/CD with Docker, DC/OS, and JenkinsCI/CD with Docker, DC/OS, and Jenkins
CI/CD with Docker, DC/OS, and Jenkins
 

More from Arnaud Héritier

Devops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMADevops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMAArnaud Héritier
 
Apache Maven - eXo TN presentation
Apache Maven - eXo TN presentationApache Maven - eXo TN presentation
Apache Maven - eXo TN presentationArnaud Héritier
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXoArnaud Héritier
 
Jenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of JenkinsJenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of JenkinsArnaud Héritier
 
ToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promisesToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promisesArnaud Héritier
 
BordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promisesBordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promisesArnaud Héritier
 
ToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promisesToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promisesArnaud Héritier
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationArnaud Héritier
 
LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?Arnaud Héritier
 
Lorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenLorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenArnaud Héritier
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenArnaud Héritier
 
Lausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - MavenLausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - MavenArnaud Héritier
 
Geneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - MavenGeneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - MavenArnaud Héritier
 
Alpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenAlpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenArnaud Héritier
 
20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache MavenArnaud Héritier
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache MavenArnaud Héritier
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
20080513 - Paris Jug - Maven à La Demande
20080513 - Paris Jug - Maven à La Demande20080513 - Paris Jug - Maven à La Demande
20080513 - Paris Jug - Maven à La DemandeArnaud Héritier
 

More from Arnaud Héritier (20)

Devops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMADevops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMA
 
Apache Maven - eXo TN presentation
Apache Maven - eXo TN presentationApache Maven - eXo TN presentation
Apache Maven - eXo TN presentation
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXo
 
Jenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of JenkinsJenkins User Meetup - eXo usages of Jenkins
Jenkins User Meetup - eXo usages of Jenkins
 
ToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promisesToursJUG-Maven 3.x, will it lives up to its promises
ToursJUG-Maven 3.x, will it lives up to its promises
 
BordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promisesBordeauxJUG-Maven 3.x, will it lives up to its promises
BordeauxJUG-Maven 3.x, will it lives up to its promises
 
ToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promisesToulouseJUG-Maven 3.x, will it lives up to its promises
ToulouseJUG-Maven 3.x, will it lives up to its promises
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentation
 
LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?LyonJUG - Maven 3.x, will it live up to its promises?
LyonJUG - Maven 3.x, will it live up to its promises?
 
Lorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - MavenLorraine JUG (1st June, 2010) - Maven
Lorraine JUG (1st June, 2010) - Maven
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - Maven
 
Lausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - MavenLausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - Maven
 
Geneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - MavenGeneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - Maven
 
Alpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenAlpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache Maven
 
Maven for eXo VN
Maven for eXo VNMaven for eXo VN
Maven for eXo VN
 
20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven20091112 - Mars Jug - Apache Maven
20091112 - Mars Jug - Apache Maven
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 
20080513 - Paris Jug - Maven à La Demande
20080513 - Paris Jug - Maven à La Demande20080513 - Paris Jug - Maven à La Demande
20080513 - Paris Jug - Maven à La Demande
 

Recently uploaded

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

LavaJUG-Maven 3.x, will it lives up to its promises

  • 1. Apache Maven 3.x WILL IT LIVE UP TO ITS PROMISES? Arnaud Héritier Software Factory Manager L AVA J U G - J U N E 2 0 1 2
  • 2. ARNAUD HÉRITIER −  eXo - Software Factory Manager −  In charge of tools and methods −  Apache Maven : −  Committer since 2004 and member of the Project Management Committee −  Coauthor of « Apache Maven» −  published by Pearson (in French) −  Contact me : −  http://aheritier.net −  Twitter : @aheritier −  Skype : aheritier www.exoplatform.com - Copyright 2012 eXo Platform 2
  • 3. 1 −  Why Apache Maven? 2 −  Apache Maven 3.x, Where are we, where are we going to … −  Community, Resources, −  Backward Compatibility, Performances, Extensibility, Robustness, Pom 3 −  Tesla −  What is it ? 4 −  Questions www.exoplatform.com - Copyright 2012 eXo Platform 3
  • 4. Why ? A PA C H E M AV E N ( 3 . X )
  • 5. DEFINITION −  Apache Maven is a software project management and comprehension tool. −  Based on the concept of a project object model (POM) −  can manage a project's build, binaries, reporting and documentation from a central piece of information. −  Apache Maven is standards/conventions driven −  How many of you are doing JEE and related developments ? www.exoplatform.com - Copyright 2012 eXo Platform 5
  • 6. H I S T O RY −  Initiated in 2001 by Jason Van Zyl in Alexandria, an Apache Jakarta project, −  Moved to Turbine few months after, −  Became a Top Level Project in 2003. −  2.0 released in September 2005 −  3.0 released in October 2010 −  3.0.4 – January 2012 www.exoplatform.com - Copyright 2012 eXo Platform 6
  • 7. C H O O S E Y O U R WAY O F T H I N K I N G Conventions approach Scripting approach www.exoplatform.com - Copyright 2012 eXo Platform 7
  • 8. C O M P E T I T O R S ( I N J AVA L A N D ) −  Ant + Ivy, Easy Ant, Gant, Gradle, Buildr… −  Script oriented −  You can do what you want ! −  Reuse many of conventions (directories layout, …) and services (repositories) but without enforcing them −  The risk for them : Not being able to evolve due to the too high level of customization proposed to the user. −  We tried on 1 and it died because of that. It was impossible to create a set of tests to cover all usages. −  It’s like providing a framework without a well tested set of public API L www.exoplatform.com - Copyright 2012 eXo Platform 8
  • 9. WITH SCRIPTS ORIENTED BUILDS You can have But often you have (if you have good skills) (moreover after years …) www.exoplatform.com - Copyright 2012 eXo Platform 9
  • 10. W I T H M AV E N We dream to deliver But yesterday we too often (Maven 3.x) had (Maven 2.x) www.exoplatform.com - Copyright 2012 eXo Platform 10
  • 11. Where are we ? Where are we going to ? A PA C H E M AV E N 3 . X
  • 12. Apache Maven 3.x COMMUNITY www.exoplatform.com - Copyright 2012 eXo Platform 12
  • 13. USERS MAILING LIST −  Blue : −  users@maven.apache.org −  Number of subscribers −  Traffic statistics cover a total −  Red : of 2338 days (>6y). −  Number of messages per day −  Current subscribers: 1902 −  Total posts: 95442 −  Mean posts per day: 40.82 −  http://pulse.apache.org/ www.exoplatform.com - Copyright 2012 eXo Platform 13
  • 14. DEV MAILING LIST −  Blue : −  dev@maven.apache.org −  Number of subscribers −  Traffic statistics cover a total −  Red : of 2338 days (>6y). −  Number of messages per day −  Current subscribers: 676 −  Total posts: 63215 −  Mean posts per day: 27,04 −  http://pulse.apache.org/ www.exoplatform.com - Copyright 2012 eXo Platform 14
  • 15. A PA C H E M AV E N W E B S I T E www.exoplatform.com - Copyright 2012 eXo Platform 15
  • 16. A PA C H E M AV E N W E B S I T E www.exoplatform.com - Copyright 2012 eXo Platform 16
  • 17. DOWLOADS −  Per month downloads −  http://people.apache.org/~vgritsenko/stats/projects/maven.html www.exoplatform.com - Copyright 2012 eXo Platform 17
  • 18. RELEASES (LAST 2 MONTHS) −  Plugins −  Libraries −  Compiler 2.5.1 (2012-06-04) −  Tools 3.0 (2012-05-31) −  Changes 2.7.1 (2012-05-10) −  Runtime 1.0-alpha-3 −  Shade 1.7 (2012-06-01) (2012-05-28) −  Compiler 2.5 (2012-05-27) −  Testing 2.0 (2012-05-27) −  Clean 2.5 (2012-05-26) −  Release 2.3.1 (2012-05-25) −  Enforcer 1.1 (2012-05-14) −  Invoker 1.6 (2012-05-24) −  SCM 1.7 (2012-04-29) −  Remote Resources 1.3 −  Doxia (base) 1.3 (2012-04-13) (2012-05-11) −  Doxia Sitetools 1.3 −  Release 2.3 (2012-05-11) (2012-04-17) −  Site 3.1 (2012-04-30) −  Changes 2.7 (2012-04-30) −  Compiler 2.4 (2012-04-30) −  Site 2.4 (2012-04-26) www.exoplatform.com - Copyright 2012 eXo Platform 18
  • 19. THE COMMUNITY −  ~20 PMC, ~20 committers, ~20 emeritus −  A community less isolated : more interactions with Eclipse, Jetty, … −  A new French PMC Chair in few days : Olivier Lamy (Cocorico !!!) www.exoplatform.com - Copyright 2012 eXo Platform 19
  • 20. Apache Maven 3.x RESOURCES www.exoplatform.com - Copyright 2012 eXo Platform 20
  • 21. BOOKS −  Nicolas De loof Arnaud Héritier −  Published by Pearson −  Collection Référence −  Based on our own experiences with Maven. −  From beginners to experts. −  In French only www.exoplatform.com - Copyright 2012 eXo Platform 21
  • 22. BOOKS −  Sonatype / O’Reilly : −  The Definitive Guide −  http://www.sonatype.com/ books −  Free download −  Available in several languages www.exoplatform.com - Copyright 2012 eXo Platform 22
  • 23. BOOKS −  Apache Maven 2 Effective Implementation −  Brett Porter, Maria Odea Ching −  https://www.packtpub.com/ apache-maven-2-effective- implementation/book www.exoplatform.com - Copyright 2012 eXo Platform 23
  • 24. BOOKS −  Exist Global −  Better builds with Maven −  http://www.maestrodev.com/ better-build-maven −  Free download www.exoplatform.com - Copyright 2012 eXo Platform 24
  • 25. MANY OTHERS RESOURCES −  Many companies are providing trainings and expertise −  Many resources on internet (blogs, ….) −  The main web site : −  http://maven.apache.org −  Project’s team wiki : −  http://docs.codehaus.org/display/MAVEN −  Project’s users wiki : −  http://docs.codehaus.org/display/MAVENUSER −  Mailing lists −  http://maven.apache.org/mail-lists.html −  IRC −  irc.codehaus.org - #maven −  Forums −  developpez.net (In French) −  Stackoverflow www.exoplatform.com - Copyright 2012 eXo Platform 25
  • 26. Apache Maven 3.x BACKWARD COMPATIBILITY www.exoplatform.com - Copyright 2012 eXo Platform 26
  • 27. B A C K WA R D C O M PAT I B I L I T Y CRITICISMS −  Migration from Maven 1 to 2 was impossible. Everything had to be re-done. −  Updates between 2.x versions and also between 2.0.x weren’t too often without side effects. www.exoplatform.com - Copyright 2012 eXo Platform 27
  • 28. B A C K WA R D C O M PAT I B I L I T Y −  Near to 700 integration tests −  Tested for several months on a large set of OSS projects −  7 alphas + 3 betas versions −  It’s a revolution under the hood but an evolution for end users www.exoplatform.com - Copyright 2012 eXo Platform 28
  • 29. M AV E N 3 . 0 . X I T S 674 www.exoplatform.com - Copyright 2012 eXo Platform 29
  • 30. Apache Maven 3.x PERFORMANCES www.exoplatform.com - Copyright 2012 eXo Platform 30
  • 31. PERFORMANCES - CRITICISMS −  Maven is slow −  It spends its time to download the world −  Whereas everybody has multicore CPUs, it doesn’t allow to process tasks in parallel www.exoplatform.com - Copyright 2012 eXo Platform 31
  • 32. PERFORMANCES −  A set of benchmark tools was developed to measure performances (IO, CPU, Memory, Network …) −  Startup and execution times are reduced −  Java 5 optimizations −  Code cleanup and improvements −  Reduced Memory footprint −  Artifacts Resolution Caching −  .lastUpdated files in your local repo −  Enforce checks with –U option www.exoplatform.com - Copyright 2012 eXo Platform 32
  • 33. P E R F O R M A N C E S – PA R A L L E L B U I L D S −  Parallel builds −  An execution plan is predefined at startup to define which modules could be built in // −  Requires to have up to date plugins to avoid dead locks and some others issues −  Launch a build with 2 threads −  mvn –T 2 install −  Launch a build with 2 threads per CPU core −  mvn –T 2C install www.exoplatform.com - Copyright 2012 eXo Platform 33
  • 34. PERFORMANCES - PLUGINS −  Many improvements in plugins −  In Surefire/Failsafe to propose various strategies to execute tests in // and to order them −  In Compiler to keep loaded the classloader used by Javac −  In Packaging plugins (Assembly, Jar, War, …) by improving performances in low level libraries (plexus …) www.exoplatform.com - Copyright 2012 eXo Platform 34
  • 35. Apache Maven 3.x EXTENSIBILITY www.exoplatform.com - Copyright 2012 eXo Platform 35
  • 36. EXTENSIBILITY - CRITICISMS −  It is difficult and time consuming to extend Maven (write plugins) −  Many unknown technologies like Plexus for IOC −  It is difficult/impossible to reuse Maven plugins −  Its impossible to extend plugins/mojo and lifecycles www.exoplatform.com - Copyright 2012 eXo Platform 36
  • 37. EXTENSIBILITY −  New APIs to improve abstraction of underneath implementation −  Aether : to manage artifacts and repositories −  Classloader partitioning −  Embeddable −  IOC replaced by Guice −  For now (Maven 3.0) a wrapper is hiding the change −  You don’t yet use Guice directly (from plugins for example) www.exoplatform.com - Copyright 2012 eXo Platform 37
  • 38. Apache Maven 3.x ROBUSTNESS www.exoplatform.com - Copyright 2012 eXo Platform 38
  • 39. ROBUSTNESS - CRITICISMS −  Builds aren’t predictable −  Errors are difficult to diagnose www.exoplatform.com - Copyright 2012 eXo Platform 39
  • 40. R O B U S T N E S S - VA L I D AT I O N S −  Many more validations in POMs (warnings or errors) −  Missing plugins versions −  Duplicated dependencies in a POM −  Incoherent inheritance (wrong relative path or parent not in the upper directory) −  Improved error messages with links to wiki pages for more detailed information www.exoplatform.com - Copyright 2012 eXo Platform 40
  • 41. ROBUSTNESS A R T I FA C T S M A N A G E M E N T −  Parent POMs prefer to resolve from repositories −  Version less parent will be available in a future 3.x release by using the relativePath element −  Profiles usage consolidation −  No more profiles.xml (incompatible with future polyglot feature) www.exoplatform.com - Copyright 2012 eXo Platform 41
  • 42. ROBUSTNESS A R T I FA C T S M A N A G E M E N T −  No more support for legacy repository layout for Maven 1.0 −  SNAPSHOTs are always deployed with timestamps www.exoplatform.com - Copyright 2012 eXo Platform 42
  • 43. ROBUSTNESS PLUGINS MANAGEMENT −  version is by default RELEASE and no more SNAPSHOT −  Affects command-line invocation −  Plugins cannot use versions LATEST or RELEASE −  Affects command-line invocation and POM −  Plugins are resolved only from <pluginRepository> entries www.exoplatform.com - Copyright 2012 eXo Platform 43
  • 44. ROBUSTNESS – SITE PLUGIN −  Site is now completely extracted from core −  It has its own lifecycle −  reporting section in POM becomes useless (moved in configuration) www.exoplatform.com - Copyright 2012 eXo Platform 44
  • 45. Apache Maven 3.x POM www.exoplatform.com - Copyright 2012 eXo Platform 45
  • 46. CRITICISMS −  XML, we don’t like it −  POM is too verbose −  POM v4 didn’t evolve last 5 years −  When will you add new common attributes to ease plugins configuration (encoding …) −  New feature like global exclusions www.exoplatform.com - Copyright 2012 eXo Platform 46
  • 47. POM −  No change in POM syntax for 3.0.x −  Changes will occur in 3.x versions −  New model with a new version −  Only new things −  Generation / deployment of 4.0.0 current POM to keep backward compatibility with old versions −  Mixins to allow to import POM fragments www.exoplatform.com - Copyright 2012 eXo Platform 47
  • 48. Tesla W H AT I S I T ?
  • 49. W H AT ! Y O U F O R K E D A PA C H E M AV E N ? www.exoplatform.com - Copyright 2012 eXo Platform 49
  • 50. A F O R K O F A PA C H E M AV E N ? −  “The build portion of Tesla are extensions to Maven. The small differences in the core I currently have will be contributed back.” - Jason van Zyl −  “It’s fork as long as Apache Maven core differences aren’t proposed to be contributed back AND validated by the Apache Maven team” – Arnaud and others Apache Maven members www.exoplatform.com - Copyright 2012 eXo Platform 50
  • 51. W H AT I S T E S L A ? −  A new project leaded by Jason Van Zyl −  Sources are on Github : https://github.com/etesla −  License : Eclipse Public License v1.0 −  “It is not just about builds. Build, IDE, CI, repository management and provisioning.” - Jason Van Zyl −  It is a set of extensions on top of existing tools : Apache Maven, M2E, Nexus, Hudson, … www.exoplatform.com - Copyright 2012 eXo Platform 51
  • 52. F E AT U R E S −  Local repository: −  Concurrent Local Repository −  Automatic Local Snapshot Purging −  Split Local Repository −  Polyglot Support −  development: In Apache −  Java 5 Annotation-based API since few weeks too −  JSR-330 (DI) Components in Plugins −  Build Avoidance API −  Several New Extension Points −  TeslaShell −  More to come! www.exoplatform.com - Copyright 2012 eXo Platform 52
  • 53. A U T O M AT I C L O C A L S N A P S H O T P U R G I N G www.exoplatform.com - Copyright 2012 eXo Platform 53
  • 54. P O LY G L O T S U P P O R T www.exoplatform.com - Copyright 2012 eXo Platform 54
  • 55. TESLA SHELL www.exoplatform.com - Copyright 2012 eXo Platform 55
  • 56. TESLA SHELL www.exoplatform.com - Copyright 2012 eXo Platform 56
  • 58. LICENCE ET COPYRIGHTS −  Photos and logos belong to their respective authors/owners −  Various ideas are coming from the excellent presentation done by Matthew McCullough : −  http://www.slideshare.net/matthewmccullough/maven-30-at-oredev −  Tesla details are coming from Anders Hammar’s presentation for Jfocus 2012 −  http://goo.gl/XNPpQ www.exoplatform.com - Copyright 2012 eXo Platform 58
  • 59. LICENCE ET COPYRIGHTS −  Content under Creative Commons 3.0 −  Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). −  Noncommercial — You may not use this work for commercial purposes. −  Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. − http://creativecommons.org/licenses/by-nc-sa/3.0/ us/ www.exoplatform.com - Copyright 2012 eXo Platform 59