Fork me on GitHub

Development Process

  • Anyone can start a plugin in the sandbox at any time.
  • Once in a fairly useable state, the plugin should be listed on the sandbox section of the mojo site and snapshots be deployed. If no site is available, try to at least post a link to the SVN location. This advertises the existence of the plugin, which will hopefully generate more interest and developers.
  • Deploying snapshots lowers the bar to entrance for potential users.
  • Plugins on the website should gather people willing to work on them. We hope at least 2 people will know how an individual plugin works.

Versioning and Release Strategy

We follow the versioning from Maven itself:

x.y.z-alpha-n
Alpha version, not feature complete.
x.y.z-beta-n
Beta version, complete for the next release, not fully tested/documented.
x.y.z
"Proper" release.

Where:

  • x is the major version: updated when it is not backwards compatible with the previous version.
  • y is the minor version: updated when features are added.
  • z is the micro version: service release, only bugfixes.

Plugins can have snapshot versions deployed for testing, or beta/alpha releases deployed for wider testing and a bit more stability. All releases deployed to the Codehaus repository are synced to the Central Repository. Sandbox plugins should only use snapshot versions.

Once a plugin is ready for another release or is about to graduate from the sandbox, follow the checklist for performing a release.

Debugging Tips

To debug Maven 2/3 with IDEA use this command:

MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
mvn install