Wave In A Box‎ > ‎

Setting Up

Before we can start exploring Wave In A Box we need to setup our development environment. For this we need to fill the following requirements:
  • Java JDK - Either Sun/Oracle JDK or Open JDK both appear to work
  • ANT Build tool
  • Mercurial Distributed Source Control Package
  • Eclipse - The chosen IDE for Wave development
  • MongoDB (optional)
  • Wave In A Box source
This document will walk you through setting up this environment on the following platforms:

While Windows isn't the native development platform for WIAB (most development has been done either on Linux or OSX) it is possible to build and run the server. Before we can do this however we need to do a bit more work in setting up the build environment.

Create Development Home

Create a directory called wave-devel. Under this directory create a directory called dependencies. This will be where you download your build tools and requirements too.

Java JDK

First things first, we need to get the latest version of the Java JDK (without which we won't be able to do anything else). Visit the following link:
And select the most up to date version of the Java SE Development Kit (this will also include the Java Runtime Environment). Go through the process of downloading and installing the JDK.
ANT Build Tool
The WIAB project uses Apaches ANT Build process in place of say, GNU Make. While there are a number of ant implementations for Windows, I've found the following to be the easiest to use:
Mercurial Distributed Source Control Package
For Windows I recommend the TortoiseHG project. It integrates with Explorer and is pretty easy to use. To get TortoiseHG visit the following site:
The IDE of choice for developing WIAB is IBM's Eclipse project. Eclipse is an open source, extendable Java based IDE. To get the latest version visit here:

And select "Eclipse IDE for Java Developers"

MongoDB (optional)

The easiest option is to download the 32 bit version, this will work on either 32bit or 64bit windows.

Once it has been downloaded, unzip the package into the dependencies directory and rename it to mongodb.

Before we can start the server we need to setup the data directories. Under the c drive create the following directories:


To start the server browse to the mongodb\bin directory and double click on the mongod.exe file.

Wave In A Box Source

Finally the last step in setting up our build environment is the source itself. To obtain the WIAB source we do the following:
  1. Create a directory called Wave-Devel
  2. In that directory right click on a piece of blank space, click on TortoisHG and then select "Clone...".
  3. In the screen that pops up fill out the following:
    1. Source Path = https://wave-protocol.googlecode.com/hg/
    2. Destination Path = [CURRENT_DIRECTORY]/wave-protocol and then click on Clone. This will take a little while but once it's finished you should have a wave-protocol directory with a big green tick.
Setting up our development environment on Linux is rather simpler than on windows, thanks to the integrated package management systems. To setup we do the following:
$: sudo apt-get install mercurial ant default-jdk mongodb eclipse
$: mkdir wave-development
$: cd wave-development
$: hg clone https://wave-protocol.googlecode.com/hg/ wave-protocol

Note if you're running the latest version of Ubuntu you will have to enable the Partners Repository before you can install the Sun JDK.


$: sudo yum install mercurial eclipse java-1.6.0-openjdk java-1.6.0-openjdk-devel mongodb
$: mkdir wave-development
$: cd wave-development
$: hg clone https://wave-protocol.googlecode.com/hg/ wave-protocol

Create your build directory

Before we can do anything else, we need to create our development home. Create the wave-devel directory and under that the dependencies directory.

Java JDK

Where Microsoft long abandoned the idea of a custom build of the Java JDK for their platform, Apple has persisted. This means that every OSX install should already have the JDK installed and ready to use.

This also includes the ANT build tool.

Note this practice will be discontinued in later versions of OSX.


To install the mercurial distributed source control management tool, visit the following link and select the one that best matches your system:


To install Eclipse for OSX, visit the following link and select "Eclipse IDE for Java Developers":

MongoDB (optional)

As with the Windows version of mongodb we need to do a bit of manual configuration before we can use it.

Download the 32bit version of the software and unzip it. Rename the directory to mongodb.

Again as with windows we will need to manually create the data directories. The default on OSX is /data/db.

Launch the mongod executable by opening a shell and running the following:

$: ./mongod

Wave In A Box Source

OSX shares similar command line capabilities to Linux. As such, simply open a console and run through the following and your environment will be complete:

$: mkdir wave-development

$: cd wave-development

$: hg clone https://wave-protocol.googlecode.com/hg/ wave-protocol