Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

  1. A switch to Maven 2 will not add any new features to Roller
  2. The Ant build is already using the Maven 2 Ant Tasks for deploying Roller jars to local Maven repository
  3. The most active committers on the project (Dave and Allen) are opposed to Maven 2.
  4. There are ongoing efforts to make improvements in Maven 2 that may address some of the valid concerns expressed on this list. For example <http://www.jroller.com/mrdon/entry/making_maven_2_not_suckImage Removed>.

This proposal (when finished) should be reconsidered when two or more of the following are true:

...

  • 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"
    • Customized Builds: Current Ant build
    uses
    • can be customized for a specific installation using 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
    unmigrated-wiki-markup
    • 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?)

...