For projects that use Maven as the build system. This causes Hudson to invoke Maven with the given goals and options. A non-zero exit code from Maven makes Hudson mark the build as a failure. Some Maven versions have a bug where it doesn't return the exit code correctly.

Hudson passes various environment variables to Maven, which you can access from Maven as "${env.VARIABLENAME}".

The same variables can be used in command-line arguments (as if you are invoking this from shell). For example, you can specify -DresultsFile=${WORKSPACE}/${BUILD_TAG}.results.txt