Apache Maven 1.x has reached its end of life, and is no longer supported. For more information, see the announcement. Users are encouraged to migrate to the current version of Apache Maven.

Maven Committers Guide

Developers are asked to comply with the following development guidelines. Code that does not comply with the guidelines should not be committed. It should be our aim to fix all of the exceptions to these guidelines prior to a release.

Coding Style

Please follow the Maven Code Style Conventions. As part of the maven build process, style checking is performed by the Checkstyle plugin, using the properties specified in checkstyle.xml. Committed code should generate no Checkstyle errors. One thing that Checkstyle will complain about is tabs included in the source code. Please make sure to set your IDE or editor to use spaces instead of tabs.

Committers should make sure that svn properties are correctly set on files added to the repository. Please read the Committer Subversion Access document and set your svn client with this properties file: svn-eol-style.txt

Documentation

  • Committed code should include full javadoc.
  • All component contracts should be fully specified in the javadoc comments.
  • Additions and enhancements should include updates to the documentation.
  • All major changes should include an entry in changes.xml.

Unit Tests

  • Committed code should include unit tests.
  • Unit tests should provide full path coverage.

Licensing and copyright

  • All new source file submissions must include the Apache Software License in a comment that begins the file.
  • All contributions must comply with the terms of the Apache Contributor License Agreement (CLA).
  • Any questions about copyright or patent issues should be raised on the dev mailing list before contributing or committing code.