Introduction

This document is intended to set up the Maven committer environment.

Source File Encoding

When editing source files, make sure you use the right file encoding. For the Maven project, UTF-8 has been chosen as the default file encoding. UTF-8 is an encoding scheme for the Unicode character set and as such allows to encode all characters that Java can handle. The source files should not contain the byte order mark (BOM). There can be exceptions to this general rule, e.g. properties files are usually encoded using ISO-8859-1 as per the JRE API, so please keep this in mind, too.

Subversion Configuration

Before committing files in subversion repository, you need to read the Committer Subversion Access document and you must set your svn client with this properties file: svn-eol-style.txt

Maven Code Style

The following sections show how to set up the code style for Maven in IDEA and Eclipse. It is strongly preferred that patches use this style before they are supplied.

IntelliJ IDEA 4.5+

Download maven-idea-codestyle.xml and copy it to ~~/Library/Preferences/IntelliJIdeaxx/codestyles then restart IDEA (with xx your idea version). On Windows, try C:\Documents and Settings\<username>\.IntelliJIDEA\config\codestyles

After this, restart IDEA and open the settings to select the new code style.

Eclipse 3.2+

Download maven-eclipse-codestyle.xml.

After this, select Window > Preferences, and open up the configuration for Java > Code Style > Code Formatter. Click on the button labeled Import... and select the file you downloaded. Give the style a name, and click OK.

Setting up SSH public/private keys

By default, SSH (Secure Shell) asks you to enter your password each time, i.e.:

>ssh YOUR_APACHE_USERNAME@people.apache.org
Password:

SSH can be set up with public/private key pairs so that you don't have to type the password each time. You need to execute the following on your development machine:

> cd ~/.ssh
> ssh-keygen -t dsa -f YOUR_APACHE_USERNAME@apache.org -C YOUR_APACHE_USERNAME@apache.org
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase): (just type return)
Enter same passphrase again: (just type return)
Your identification has been saved in YOUR_APACHE_USERNAME@apache.org.
Your public key has been saved in YOUR_APACHE_USERNAME@apache.org.pub.
The key fingerprint is:
0c:16:c7:44:9e:a6:2c:c0:8a:87:04:07:a0:5b:94:d2 YOUR_APACHE_USERNAME@apache.org

Then, paste the content of the local ~/.ssh/YOUR_APACHE_USERNAME.pub file into the file /home/YOUR_APACHE_USERNAME/.ssh/authorized_keys on the Apache remote host.

Note: under Cygwin, it is located at {cygwin.install.path}\home\YOUR_MACHINE_USERNAME\.ssh. You need to copy the content of {cygwin.install.path}\home\YOUR_MACHINE_USERNAME\.ssh into C:\Documents and Settings\YOUR_MACHINE_USERNAME\.ssh for Maven.

You also need to modify the ~/.ssh/config to use this identity file when communicating with *.apache.org

Host *.apache.org
User=YOUR_APACHE_USERNAME
IdentityFile=~/.ssh/YOUR_APACHE_USERNAME@apache.org

To test the installation, try to log in again on Apache. You should not be asked for your password any more.

 > ssh YOUR_APACHE_USERNAME@people.apache.org
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.  All rights reserved.

FreeBSD 8.2-RELEASE-p4 (GENERIC) #1 r226043: Wed Oct  5 18:45:41 UTC 2011

This is minotaur.apache.org (a.k.a. people.apache.org). 
...
YOUR_APACHE_USERNAME@minotaur:~$

Useful software

The Maven Team uses several software. Here is a partial list:

  • Cygwin: collection of free software tools to allow various versions of Microsoft Windows to act somewhat like a Unix system
  • WinSCP: SFTP client for Windows.
  • TortoiseSVN: Subversion client, implemented as a Windows shell extension.
  • GnuPG: GNU Privacy Guard.