Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Maven is controversial, some love it, others hate it
    • We'll need to clearly lay out real benefits and drawbacks in this proposal.
    • Hopefully, the Maven team will make improvements to Maven to address valid complaints.
  • Maven allows simple builds to be implemented "declaratively" but mechanisms for implementing custom build logic can be frustrating.
    • We'll need to make sure all current and future build logic can be handled by Maven.

Specific Issues

  • Roller Build Advanced Features (A list of things in the Roller build that would require a Maven plugins or scripting should go here)
    • Multiple sub-projects and build artifacts mandate a Maven "multiproject"
    • Current Ant build uses Ant XML fragments to allow developer's to customize the Roller build for their installation (How would this mechanism "port" to Maven?)
  • General Maven Issues
    • e.g. XML verbosity go here

Benefits

It will be important for these benefits to be clearly described and contrasted with mechanisms in the current (or an improved Ant build.)

  • JARs can be removed from SVN and stored in a single location on a developer's system
    • Speeds up SVN checkouts
    • Reduces storage requirement on developer's system (especially if simultaneously using multiple branches)
    • Note: This could also be done wit Ant tasks for Maven or Ivy.
  • Maven plugins can be used to generate IDE project files
    • To generate Eclipse .project and .classpath, use: mvn eclipse:eclipse
    • To generate IDEA project, module, and workspace files, use: mvn idea:idea
    • What about NetBeans?
  • Standard Maven layout and project site will make things easier for experienced Maven users
    • This is a little bit subjective, but clearly some will see it as a benefit

Drawbacks

(How are these different than "General Maven Issues" above?)

...