BeJUG talk, The Maven 3 ecosystem, Jason van Zyl

May 25 in Antwerp, another interesting BeJUG talk, this time by maven founder and CTO of Sonatype Jason van Zyl.

My biggest take away messages are about the quality of the Apache Shiro project and viability of using OSGi (were tooling would cause most of the problems). Two (more) things I should try to look into…

Anyway, my notes for the evening :

* news & update

  • Maven central are now starting to have more quality checks. central : 2008: 2mlj unique IPs on maven central/month, 2009: 4mlj
  • Sonatype second product : eclipse config sync tool
  • maven 3 : mild june, another beta this week
  • m2eclipse will follow soon after
  • tycho in product review phase
  • sonatype new CEO starting june 1, probably 30 new developers starting in the next (half) year

* maven 3

  • maven
    • drop in replacement
    • overall speed improvements
    • complete internal overhaul for embedding new incremental Plugin API
  • maven 3.1
    • new pom 4.1.0
    • global excludes, mixins, versionless parent elements, properties will return to dependencies
    • new settigs system, repository manager element, security manager element, mirrors in profiles
    • new plugin API, java5 annotation, plugin extension points
    • dependency management akin to target platforms in eclipse
  • polyglot maven
    • ability to write pom in another language than XML
  • maven shell
    • shell.sonatype.org : embed maven 3 into the shell, also has nexus and hudson integration
    • easy to create new commands
    • similar to Spring Roo, but without spring link
  • NAR plugin
    • working with native code in maven
    • use maven to build C code

* m2eclipse

  • internal overhaul and synced with maven 3.x
  • should use 0.9.9 or above (older is not so good)
  • overhaul or repository and index handling
  • customizable lifecycle mappings -> pure speed, use it!
  • m2eclipse configuration framework : turn maven preferences from the pom and vice versa
  • maven studio for eclipse : commercial version of m2eclipse
  • improved plug-ins

* nexus

  • maven central cleanup ongoing
  • Pro : maven site support, nexus central, license, procurement, governance support

* hudson

  • maven 3 integration (end of june)
  • REST support using APache Wink
  • global config support
  • Apache Shiro integration (best security framework)
  • Long-lived workflow

* Moving Plexus to Guice

  • requirements : no code changes, backwords compatible, need to be wed to OSGi – thanks to Peaberry

* Mercury

  • overhauled artifact resolution API
  • SSL, DAV support
  • first second version (v1 kind of failed) in a couple of weeks

* Tycho and OSGi ecosystem

  • Tycho is Sonatype’s brand for all OSGi stuff
  • maven-bundle-plugin will move under Tycho brand
  • OSGi technology is very sounds, but existing tooling is bad, Tycho solves this
  • Enunciate to generate all client stuff from JAX-RS

* Proviso

  • Maven and provisioning
  • take artifacts housed in your repo and assemble and deploy them on production systems
  • For example for continuous deployment to QA systems or even to your prime-time production systems
  • Standardize this process like maven standardizes the build process
  • Similar problem to build problem
  • Focussing on Java runtimes (anything elso is too hard for now)
  • recipes : describing what the runtime system looks like, combine BAR, ITAR, CAR (boot, binary & configuration archive)
  • use P2 for provisioning (used in eclipse) (uses sat4j, which is a boolean solver)

* git

  • is the future of SCM
  • distributed, network efficient, simple branching and merging
  • JGIT : pure java implementation of GIT
  • Gerrit : awesome peer review system based on JGIT
  • JGitd : java version of git server

295 Comments

  1. […] Check out his post on Bejug Maven3 session read the post Tags: Java, maven, tools Category: Null  |  Comment (RSS)  |  Trackback […]

Leave a Reply

Your email address will not be published. Required fields are marked *

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen

*