<!--
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * 
 * Copyright (c) 2010, 2011 IBM Corporation
-->

<p>The source repository for weinre is maintained at 
<a href="https://github.com/phonegap/weinre">GitHub</a>.

<p>To build the current version of <span class="weinre">weinre</span>, you will 
probably want to use Eclipse.  If that's not an option, there is some 
experimental support in the main ant build script to compile the Java code 
outside of Eclipse.  Explore the <tt>build.xml</tt> file to see how that's
done.

<p>At development time, <span class="weinre">weinre</span> consists of 5 Eclipse
projects.  See the file <tt>README.md</tt> in the
<tt>weinre.build</tt> project for more instructions on
how to perform a build.

