This proposal is a collection of features and changes that I think are necessary for Maven to not suck. Obviously, not sucking is a completely subjective goal so it is defined as making Maven do what Don Brown thinks it should do. I've created a branch in the Maven sandbox to collect my changes and facilitate any collaboration. I'll be converting any new features or changes into Maven JIRA issues to encourage the code to get back into the Maven project, however it is anticipated that many changes will be rejected as they may go against the official Maven direction.

The deliverable from this proposal is a set of sandbox "releases" or versioned snapshots that I will be using in my open source and commercial work, however, I hope other people will find them useful. I'll be making the changes on the latest released version of Maven to ensure stability.

Features

Feature

Issue

Accepted

Rejected

-db version

HTTP Wagon to use standalone HTTPClient

WAGONHTTP-17

 

 

2.0.9-SNAPSHOT-db1

Parallel artifact retreival

MNG-3379

 

 

2.0.9-SNAPSHOT-db1

Specify plugin versions in super POM

NabbleMNG-3395


 

2.0.8-db1

Changelog

Version

Date

Description

2.0.8-db1

3 Feb

Plugin versions in super pom, full release, went back to 2.0.8 for stability

2.0.9-SNAPSHOT-db1

29 Jan

Only uber jar, Java 1.4 compliant, no Commons Logging issues

How to install it

Uniquely versioned snapshots can be found here:

Download the release file that best suites your environment and install it like any normal Maven installation.

How to develop it

  1. Checkout the code
    svn co http://svn.apache.org/repos/asf/maven/sandbox/branches/maven/maven-db/
    
  2. Install the standalone version of httpclient in your local Maven repository:
    cd maven-db
    mvn install:install-file -DgroupId=commons-httpclient -DartifactId=commons-httpclient -Dversion=3.1-standalone -Dpackaging=jar -Dfile=commons-httpclient-3.1-standalone.jar
    
  3. Install the wagon http
    cd wagon-http-trunk
    mvn install
    
  4. Build Maven
    cd ../maven-2.0.8
    mvn install
    

You should now have built the release available in the maven-2.0.8/maven-core/target directory.