This page describes the mechanics of how to contribute software to Apache Whirr.
Getting the source code
First of all, you need the Whirr source code. Checkout subversion "trunk" using:
Setting up Eclipse
Generate the Eclipse project and classpath files:
M2_REPO classpath variable
1. File, Preferences, Java, Build Path, Classpath Variables
- Name: M2_REPO
- Path: /path/to/.m2/repository
Import all projects
1. File, import, General, Existing projects into workspace
2. Choose the whirr-trunk directory
3. Choose all modules
It's also covenient to add the top-level project too.
Build and install the JARs from the top-level with
To check the code adheres to the style guidelines, which are Sun's conventions except 2 spaces for tabs, http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html, you can use
You can run the unit tests, which run locally without using any cloud providers, by typing:
To run integration tests you need to have an account with a cloud provider, and you need to set the necessary credentials. In theory, Whirr runs against any provider supported by jclouds, but this hasn't been tested yet.
To run the tests for a given service, change into the services/<service> directory and type the following. Alternatively, run this from the top level to run the tests for all services.
For Amazon EC2,
whirr.test.provider should be set to
ec2 (the default). The user is the access key ID, and the key is the secret access key.
The tests also rely on having an SSH keypair. By default they use .ssh/id_rsa and .ssh/id_rsa.pub in the user's home directory, but you can override this by setting
whirr.test.ssh.keyfile to the private key's filename.