Tasks

Beyond 1.0

  • Plugins must have tests. There are a couple of plugins that are busted because it's not possible to test them by hand. We need to create a mechanism for test them for real reliablility. Velocity was removed from the Maven core and as a result many Plugins are now busted. Users will need HEAD for some plugins to work which is not good.
  • Implement arbitrary artifact type handling. Michal Maczka (Mmaczka@cqs.ch) had a very good solution but we didn't get around to getting it in. Sorry about that Michal, please be patient.
  • Switch to classworlds to allow real isolation in plugins and real embedding of Maven in client applications. This will all revolve around allowing a ClassWorld to be initialized with MavenSession. We would truly like to decouple MavenSession from the CLI front-end. Possibly using a system property to pass in a set of JARs to populate the initial ClassWorld. From there we can create child ClassWorlds for the plugins to execute in.
  • Add the use of checksums in the verification process. Throw an ArtifactCorruptionException when the artifact cannot be verified against the checksum. This mechanism has been implmented, but we were having problems getting the checksums up to ibiblio reliably. We need to thoroughly test the Jelly script that we are using for deployment and we could probably also do with the shell scripts that can be run periodically on repositories to make sure the checksums are valid.
  • Release vs HEAD website (so the inconsistencies we have in our current situation can be alleviated. This is a real problem that needs to be solved. We simply need a way to flag an incremental HEAD site update as opposed to a release update.
  • Addition of POM entries to allow anonymous checkout
  • Roadmap document. (jvz)
  • Write proposal for globally distributed JAR repository and distribution repository. There are definite things to be learned from the Perl folks.(jvz)
  • Need to restructure the mailing lists and object model so that we can easily select the dev mailing list for continuous integration problems. discovered when trying to apply the nag feature of gump.
  • Status document (weekly report type thing).
  • Add maven:plugin-list target to list all known plugins from remote repos. Each repo may optionally provide a plugins.list file similar to the jars.list. A plugin is packaged as a jar file.
  • How to generally deal with example code and where it belongs in the source tree and how it should be package in the distribution.
  • Release generated page based on the distribution directory and some standard text. just looking at things that can be culled from the turbine site.
  • Same with the 'how do i contribute' blurb at the bottom of the t2 pages. those can be generated.
  • A little report displaying the use of dev JARs as opposed to using released versions of products. Encourage projects to try and use released versions of JARs.
  • Need a way to transform a POM across multiple versions of Maven. For any number of reasons a project may decide to hold back on upgrading Maven immediately and we need to make sure that users can move safely upgrade across N versions.