Maven @ the POSS

 

 Last June 23-24, the Philippine Open Source Summit (POSS) was held in Cebu and I got to do a technical session about Maven. For those who didn’t get to attend, here’s a short summary of what was presented and discussed in the session =) 

 

  1. What is Maven?
    • It is a software project management and comprehension tool that can manage a project’s build, reporting and documentation from a central piece of information.
  2. Before Maven was around you need to..
    • Compile your project (dependencies, source classes)
    • Package your project
    • Test your project
    • Document your project
    • Deploy/publish your project
  3. Life with Maven.. Maven does it ALL!
    • Building a project with Maven is demonstrated (from compiling your project up to deployment), showing the Maven build life cycle.
    • A diagram of how Maven works
  4. Definition of Terms:
    • Repository (remote and local) - where artifacts are contained
    • Artifact - a jar, war, ear, zip, tar, etc. file
    • POM (Project Object Model) - the central piece of information; xml configuration file where all info (build, reporting, resources, etc.) regarding the project is located
    • Dependency - an artifact which is needed by your project in order to build or run it
    • Build - steps for preparing your project for deployment (compile, test, package, deploy, etc.)
  5. The Power of Maven (reference: maven.apache.org/maven-features.html)
    • Simple project setup that follows best practices
    • Consistent usage across all projects means no ramp up time for new developers coming onto a project
    • Superior dependency management
    • Support for multi-module projects
    • Extensible (you can create your own plugins!)
    • Coherent site of project information
    • Release management and distribution publication
  6. Related Tools:
    • Apache Archiva – Build Artifact Repository Manager
    • Apache Continuum – Continuous Integration Server
  7. Features of Archiva:
    • can be used as proxy cache of artifacts
    • manage repositories (deploy/upload artifacts, search, cleanup)
    • provides reports (repository health)
    • security (for your repositories)
  8. Features of Continuum:
    • scheduled builds (m2, m1, ant and shell projects)
    • build notification (mail, irc, IM clients)
    • has support for build environments
    • web UI for releasing a project
    • security (across project groups)
  9. Resources:

 

SPEAK / ADD YOUR COMMENT
Comments are moderated.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Return to Top