<!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 * Author: dhanji@google.com (Dhanji R. Prasanna)
 *         anorth@google.com (Alex North)
 -->
<project name="waveinabox" default="dist">
  <description>Wave in a Box</description>

  <property file="build.properties"/>

  <!-- Import classpath definitions. -->
  <import file="${build.classpath.path}"/>

  <!-- Import macros -->
  <import file="${build.macros.path}"/>

  <property name="gwt.args" value=""/>

  <!-- Standard time properties and a timestamp pattern -->
  <tstamp>
    <format property="DSTAMP_INT" pattern="-yyyy-MM-dd"/>
  </tstamp>
  <tstamp>
    <format property="LOG_STAMP" pattern="yyyy-MM-dd_HH-mm-ss"/>
  </tstamp>
  <property name="release.robot.name" value="wave-robot-client${DSTAMP_INT}.zip"/>
  <property name="release.robot.python.name" value="wave-robot-python-client${DSTAMP_INT}.zip"/>
  <property name="build.log.filename" value="build_${LOG_STAMP}.log"/>

  <!--=====
      Initialization
      =====-->

  <target name="clean" description="Cleans up the build artifacts and temporary directories">
    <delete dir="${build.dir}"/>
    <delete dir="${dist.dir}"/>
    <delete dir="${doc.dir}"/>
    <delete dir="${gen.dir}"/>
    <delete dir="${test.out.dir}"/>
    <delete dir="war/waveharness"/>
    <delete dir="war/webclient"/>
  </target>

  <target name="clean-lib" description="Cleans up the third party libraries">
    <delete dir="${lib.test}"/>
    <delete dir="${lib.codegen}"/>
    <delete dir="${lib.runtime}"/>
    <delete dir="${lib.release}"/>
    <delete dir="${lib.solr}"/>
  </target>

  <target name="init-logging" description="Enable logging to file">
    <mkdir dir="${build.log.dir}"/>
    <record name="${build.log.dir}/${build.log.filename}"
        loglevel="verbose" append="false"/>
    <echo message="Logging to ${build.log.dir}/${build.log.filename}"/>
  </target>

  <target name="init" depends="init-logging">
    <mkdir dir="${build.proto.dir}"/>
    <mkdir dir="${build.messages.dir}"/>
    <mkdir dir="${build.src.dir}"/>
    <mkdir dir="${build.test.dir}"/>
    <mkdir dir="${coverage.dir}"/>
    <mkdir dir="${dist.dir}"/>
    <mkdir dir="${staging.dir}"/>
    <mkdir dir="${dep}"/>
    <mkdir dir="${test.out.dir}"/>
    <mkdir dir="${lib.test}"/>
    <mkdir dir="${lib.codegen}"/>
    <mkdir dir="${lib.runtime}"/>
    <mkdir dir="${lib.release}"/>
    <mkdir dir="${lib.solr}"/>
    <mkdir dir="${gen.dir}/gxp"/>
    <mkdir dir="${gen.dir}/messages"/>
  </target>

  <!-- === IDE helper targets === -->

  <!-- TODO(danilatos): Make this work on Windows as well. For now,
       windows users can just copy the .project_template file manually. -->
  <target name="eclipse" description="Generates an eclipse .project file">
    <exec executable="tools/eclipse.sh"/>
  </target>

  <!--=====
      Builds
      ======-->

  <!-- ===
      Protocol buffer targets.
      Compiles generated proto sources. See build-proto.xml for generating
      proto sources from .proto files.
  === -->
  <target name="compile-proto-dep">
    <uptodate targetfile="${dep}/compile-proto" property="skip.compile-proto">
      <srcfiles dir="${lib.dir}"/>
      <srcfiles dir="${src.proto.dir}" includes="**/*.java"/>
    </uptodate>
  </target>

  <target name="compile-proto" depends="init, compile-proto-dep"
      unless="skip.compile-proto" description="Compiles protocol buffers">
    <buildproto destdir="${build.proto.dir}">
      <src path="${src.proto.dir}"/>
      <classpath>
        <path refid="libpath"/>
      </classpath>
    </buildproto>
    <touch file="${dep}/compile-proto"/>
  </target>

  <!-- === GXP targets === -->
  <target name="gen-gxp-dep">
    <uptodate targetfile="${dep}/gen-gxp" property="skip.gen-gxp">
      <srcfiles dir="${src.dir}" includes="org/waveprotocol/box/server/gxp/*.gxp"/>
    </uptodate>
  </target>

  <!-- Generates the Java files from templates -->
  <target name="gen-gxp" description="Generates GXP files"
      depends="init, define-gxpc, gen-gxp-dep" unless="skip.gen-gxp">
    <gxpc srcdir="${src.dir}" srcpaths="${src.dir}" destdir="${gen.dir}/gxp"
        target="org.waveprotocol.box.server.gxp" />
    <touch file="${dep}/gen-gxp"/>
  </target>

  <target name="compile-gxp-dep">
    <uptodate targetfile="${dep}/compile-gxp" property="skip.compile-gxp">
      <srcfiles dir="${gen.dir}/gxp"/>
    </uptodate>
  </target>

  <target name="compile-gxp" depends="init, gen-gxp, compile-gxp-dep"
      unless="skip.compile-gxp" description="Compiles GXP classes">
    <buildjava destdir="${build.src.dir}">
      <src path="${gen.dir}/gxp" />
      <classpath>
        <path refid="libpath"/>
      </classpath>
    </buildjava>
    <touch file="${dep}/compile-gxp"/>
  </target>

  <!-- === PST targets === -->
  <target name="dist-pst-dep">
    <uptodate targetfile="${dep}/dist-pst" property="skip.dist-pst">
      <srcfiles dir="${lib.dir}"/>
      <srcfiles dir="${src.dir}" includes="org/waveprotocol/pst/**/*.java"/>
    </uptodate>
  </target>

  <target name="dist-pst" depends="init, dist-pst-dep, compile-proto"
      unless="skip.dist-pst" description="Builds the PST tool">
    <delete dir="${build.dir}/pst"/>
    <mkdir dir="${build.dir}/pst"/>
    <javac srcdir="${src.dir}" destdir="${build.dir}/pst" includes="org/waveprotocol/pst/**/*">
      <classpath>
        <path refid="libpath"/>
        <path location="${build.proto.dir}/"/>
      </classpath>
    </javac>
    <copy todir="${build.dir}/pst">
      <fileset dir="${src.dir}">
        <include name="org/waveprotocol/pst/**/*.st"/>
        <include name="org/waveprotocol/pst/**/properties"/>
      </fileset>
    </copy>
    <jar destfile="${dist.dir}/pst.jar" basedir="${build.dir}/pst"/>
    <jar destfile="${dist.dir}/pst-src.jar" basedir="${src.dir}">
      <patternset includes="org/waveprotocol/pst/**/*"/>
    </jar>
    <touch file="${dep}/dist-pst"/>
  </target>

  <target name="gen-messages-dep">
    <uptodate targetfile="${dep}/gen-messages" property="skip.gen-messages">
      <srcfiles dir="${src.dir}" includes="org/waveprotocol/pst/**/*.st"/>
      <srcfiles dir="${lib.dir}"/>
      <srcfiles dir="${dist.dir}" includes="pst.jar"/>
      <srcfiles dir="${build.proto.dir}"/>
    </uptodate>
  </target>

  <target name="gen-messages" depends="dist-pst, compile-proto, gen-messages-dep"
      unless="skip.gen-messages"
      description="Generates the DTO message source">
    <delete dir="${gen.dir}/messages"/>
    <mkdir dir="${gen.dir}/messages"/>
    <pstmessage proto="${build.proto.dir}/org/waveprotocol/box/common/comms/WaveClientRpc.class"/>
    <pstmessage proto="${build.proto.dir}/org/waveprotocol/box/search/SearchProto.class"/>
    <pstmessage proto="${build.proto.dir}/org/waveprotocol/box/profile/ProfilesProto.class"/>
    <pstmessage proto="${build.proto.dir}/org/waveprotocol/box/server/rpc/Rpc.class"/>
    <pstmessage proto="${build.proto.dir}/org/waveprotocol/box/attachment/AttachmentProto.class"/>
    <pstmessage proto="${build.proto.dir}/org/waveprotocol/wave/federation/Proto.class"/>
    <pstmessage proto="${build.proto.dir}/org/waveprotocol/wave/concurrencycontrol/ClientServer.class"/>
    <pstmessage proto="${build.proto.dir}/org/waveprotocol/wave/diff/Diff.class"/>
    <touch file="${dep}/gen-messages"/>
  </target>

  <target name="compile-messages-dep">
    <uptodate targetfile="${dep}/compile-messages" property="skip.compile-messages">
      <srcfiles dir="${gen.dir}/messages"/>
      <srcfiles dir="${src.dir}" includes="org/waveprotocol/wave/communication/**"/>
    </uptodate>
  </target>

  <target name="compile-messages" depends="gen-messages, compile-messages-dep"
      unless="skip.compile-messages" description="Compiles the DTO messages">
    <!--
      The generated DTOs depend on code in wave/communication.  At this stage of
      the build process, that code is still in source form, so it is exposed to
      javac via sourcepath not classpath.  Since javac is too aggressive, and
      gobbles up those files and compiles them too, a subsequent step has to
      go and delete those overzealously compiled files, because they will be
      compiled again later.
    -->
    <javac srcdir="${gen.dir}/messages"
           destdir="${build.messages.dir}"
           sourcepath="${src.dir}">
      <classpath>
        <path refid="libpath"/>
        <pathelement location="${build.proto.dir}"/>
      </classpath>
    </javac>
    <delete dir="${build.messages.dir}/org/waveprotocol/wave/communication"/>
    <touch file="${dep}/compile-messages"/>
  </target>

  <!-- === Java targets === -->
  <target name="compile-dep">
    <uptodate targetfile="${dep}/compile" property="skip.compile">
      <srcfiles dir="${lib.dir}"/>
      <srcfiles dir="${src.dir}" includes="**"/>
      <srcfiles dir="${gen.dir}" includes="**"/>
    </uptodate>
  </target>

  <target name="compile" depends="compile-proto, compile-gxp, compile-messages, compile-dep"
      unless="skip.compile" description="Compiles all source">
    <subant target="compile" inheritall="true">
      <property name="build.common.path" location="build-common.xml"/>
      <fileset dir="${src.dir}" includes="*/**/build.xml"/>
    </subant>

    <!-- copy non binary resources in src tree to output classpath. Why? -->
    <copy todir="${build.src.dir}">
      <fileset dir="${src.dir}">
        <include name="**/*.js"/>
        <include name="**/*.xml"/>
        <include name="**/*.html"/>
        <include name="**/*.properties"/>
        <include name="**/*.proto"/>
        <include name="**/*.conf"/>
      </fileset>
    </copy>

    <touch file="${dep}/compile"/>
  </target>

  <target name="compile-tests" depends="get-third-party,compile"
      description="Compiles all unit tests">
            <!-- Pull in the Emma tasks -->
    <taskdef resource="emma_ant.properties" classpathref="test.libpath"/>
    <buildjava destdir="${build.test.dir}">
      <src path="${test.dir}" />
      <classpath>
        <path refid="libpath"/>
        <path refid="test.libpath"/>
        <pathelement location="${build.src.dir}"/>
        <pathelement location="${build.proto.dir}"/>
      </classpath>
    </buildjava>

    <!-- copy non binary resources in src tree to output classpath -->
    <copy todir="${build.test.dir}">
      <fileset dir="${test.dir}">
        <include name="**/*.xml"/>
        <include name="**/*.html"/>
        <include name="**/*.properties"/>
      </fileset>
    </copy>
  </target>

  <!--=====
      Tests
      ======-->

  <target name="test" depends="compile-tests" description=
    "Runs all the unit tests in the project excluding external persistence">
    <!-- EMMA disabled due to incompatibility with EventSerializer -->
    <!-- Tests are run in a single new VM, when forkmode is set to once -->
    <runtests forkmode="once" coverage="true">
      <fileset dir="${test.dir}">
        <include name="**/*Test.java"/>
        <exclude name="**/*GwtTest.java"/>
        <exclude name="**/*LargeTest.java"/>
        <!-- Exclude all persistence tests -->
        <exclude name="**/server/persistence/**"/>
      </fileset>
      <!-- Include the persistence tests that aren't run elsewhere -->
      <fileset dir="${test.dir}">
        <include name="**/server/persistence/memory/*Test.java"/>
        <include name="**/server/persistence/file/*Test.java"/>
      </fileset>
    </runtests>
  </target>

  <target name="test-large" depends="compile-tests" description="Runs large tests (slow)">
    <runtests forkmode="perTest" coverage="true">
      <fileset dir="${test.dir}">
        <include name="**/*LargeTest.java"/>
      </fileset>
    </runtests>
  </target>

  <target name="test-gwt" depends="compile-tests" description="Runs GWT tests (slow)">
    <!-- Fork per test due to GWT test failure in shared JVM -->
    <!-- EMMA disabled due to GWT incompatibility -->
    <runtests forkmode="perTest" coverage="false">
      <fileset dir="${test.dir}">
        <include name="**/*GwtTest.java"/>
      </fileset>
    </runtests>
  </target>

  <target name="test-mongodb" depends="compile-tests" description="Runs the MongoDb tests">
    <runtests forkmode="once" coverage="true">
      <fileset dir="${test.dir}">
        <!-- Include the mongoDb tests -->
        <include name="**/server/persistence/mongodb/**/*Test.java"/>
      </fileset>
    </runtests>
  </target>

  <target name="test-all" depends="compile-tests, test, test-gwt, test-large, test-mongodb"
      description="Run all tests, including GWT"/>

  <!--=====
      GWT
      ======-->

  <target name="compile-gwt-dep">
    <uptodate targetfile="${dep}/compile-gwt" property="skip.compile-gwt">
      <srcfiles dir="${lib.dir}"/>
      <srcfiles dir="${src.dir}"/>
      <srcfiles dir="${gen.dir}/messages"/>
    </uptodate>
  </target>

  <target name="compile-gwt" depends="compile, compile-gwt-dep"
      description="GWT compile to production JavaScript" unless="skip.compile-gwt">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
      <classpath>
        <pathelement location="${src.dir}"/>
        <pathelement location="${gen.dir}/messages"/>
        <path refid="libpath"/>
        <path refid="test.libpath"/>
      </classpath>
      <jvmarg value="-Xmx1024M"/>
      <!-- Small Javascript size. -->
      <arg line="-style OBFUSCATED"/>
      <!-- Do not include class and package names in compiled JS. -->
      <arg line="-XdisableClassMetadata"/>
      <arg line="-XdisableCastChecking"/>
      <arg line="-localWorkers 4"/>
      <arg line="${gwt.args}"/>
      <arg value="org.waveprotocol.box.webclient.WebClientProd"/>
    </java>
    <!-- Only one GWT compile output is valid at any one time. -->
    <delete file="${dep}/compile-gwt-dev"/>
    <touch file="${dep}/compile-gwt"/>
  </target>

  <target name="compile-gwt-dev-dep">
    <uptodate targetfile="${dep}/compile-gwt-dev" property="skip.compile-gwt-dev">
      <srcfiles dir="${lib.dir}"/>
      <srcfiles dir="${src.dir}"/>
      <srcfiles dir="${gen.dir}/messages"/>
    </uptodate>
  </target>

  <target name="compile-gwt-demo" depends="compile, compile-gwt-dev-dep"
       description="GWT compile to a 'demo' production JavaScript with remote logging enabled."
       unless="skip.compile-gwt-dev">
     <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
       <classpath>
         <pathelement location="${src.dir}"/>
         <pathelement location="${gen.dir}/messages"/>
         <path refid="libpath"/>
         <path refid="test.libpath"/>
       </classpath>
       <jvmarg value="-Xmx1024M"/>
       <!-- Human-readable JS. -->
       <arg line="-style PRETTY"/>
       <!-- Assertions on. -->
       <arg line="-ea"/>
       <arg line="${gwt.args}"/>
       <arg value="org.waveprotocol.box.webclient.WebClientDemo"/>
     </java>
     <!-- Only one GWT compile output is valid at any one time. -->
     <delete file="${dep}/compile-gwt"/>
     <touch file="${dep}/compile-gwt-dev"/>
   </target>

  <target name="compile-gwt-dev" depends="compile, compile-gwt-dev-dep"
      description="GWT compile of a restricted set of permutations suitable for development."
      unless="skip.compile-gwt-dev">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
      <classpath>
        <pathelement location="${src.dir}"/>
        <pathelement location="${gen.dir}/messages"/>
        <path refid="libpath"/>
        <path refid="test.libpath"/>
      </classpath>
      <jvmarg value="-Xmx1024M"/>
      <!-- Human-readable JS. -->
      <arg line="-style PRETTY"/>
      <!-- Less optimal JS, but faster compile. -->
      <arg line="-draftCompile"/>
      <!-- Assertions on. -->
      <arg line="-ea"/>
      <arg line="${gwt.args}"/>
      <arg value="org.waveprotocol.box.webclient.WebClientDev"/>
    </java>
    <!-- Only one GWT compile output is valid at any one time. -->
    <delete file="${dep}/compile-gwt"/>
    <touch file="${dep}/compile-gwt-dev"/>
  </target>

  <!--=====
      Hosted and Superdev
      ======-->

  <target name="hosted-gwt" depends="compile"
      description="Runs the hosted mode server, for debugging the GWT client in a JVM.">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">
      <classpath>
        <pathelement location="${src.dir}"/>
        <pathelement location="${build.src.dir}"/>
        <pathelement location="${gen.dir}/messages"/>
        <path refid="libpath"/>
      </classpath>
      <jvmarg value="-Xmx1024M"/>
      <jvmarg value="-ea"/>
      <jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8001"/>
      <arg value="-noserver" />
      <arg line="-bindAddress 127.0.0.1" />
      <arg line="${gwt.args}"/>
      <arg line="-startupUrl http://localhost:9898"/>
      <arg line="-logLevel DEBUG"/>
      <arg value="org.waveprotocol.box.webclient.WebClientDev"/>
    </java>
  </target>

  <target name="superdev-gwt" depends="compile"
      description="Runs the superdev mode, for debugging the GWT client in a browser.">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
      <classpath>
        <pathelement location="${lib.codegen}/gwt-dev-2.7.0.jar" />
        <pathelement location="${lib.codegen}/gwt-codeserver-2.7.0.jar" />
        <pathelement location="${src.dir}"/>
        <pathelement location="${gen.dir}/messages"/>
        <path refid="libpath"/>
      </classpath>
      <arg line="${gwt.args}"/>
      <arg line="-src src"/>
      <arg value="org.waveprotocol.box.webclient.WebClientDev"/>
    </java>
  </target>

  <target name="editor-hosted" depends="compile" description="Runs the editor harness through the GWT hosted mode server, for debugging in a JVM.">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">
      <classpath>
        <pathelement location="${src.dir}"/>
        <path refid="libpath"/>
      </classpath>
      <jvmarg value="-Xmx512M"/>
      <jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8001"/>
      <arg line="${gwt.args}"/>
      <arg line="-war war"/>
      <arg line="-startupUrl org.waveprotocol.wave.client.editor.harness.EditorTest/EditorTest.html"/>
      <arg value="org.waveprotocol.wave.client.editor.harness.EditorTest"/>
    </java>
  </target>

  <target name="editor-superdev" depends="compile" description="Runs the editor harness through the GWT superdev mode server, for debugging in a browser.">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
      <classpath>
        <pathelement location="${lib.codegen}/gwt-dev-2.7.0.jar" />
        <pathelement location="${lib.codegen}/gwt-codeserver-2.7.0.jar" />
        <pathelement location="${src.dir}"/>
        <path refid="libpath"/>
      </classpath>
      <arg line="${gwt.args}"/>
      <arg line="-src src"/>
      <arg value="org.waveprotocol.wave.client.editor.harness.EditorTest"/>
    </java>
  </target>

  <target name="waveharness-hosted" depends="compile" description="Runs the wave panel harness through the GWT hosted mode server, for debugging in a JVM.">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">
      <classpath>
        <pathelement location="${src.dir}"/>
        <path refid="libpath"/>
      </classpath>
      <jvmarg value="-Xmx512M"/>
      <jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8001"/>
      <arg line="${gwt.args}"/>
      <arg line="-war war"/>
      <arg line="-startupUrl waveharness/UndercurrentHarness.html"/>
      <arg value="org.waveprotocol.wave.client.testing.UndercurrentHarness"/>
    </java>
  </target>

  <target name="waveharness-superdev" depends="compile" description="Runs the wave panel harness through the GWT superdev mode server, for debugging in a browser.">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
      <classpath>
        <pathelement location="${lib.codegen}/gwt-dev-2.7.0.jar" />
        <pathelement location="${lib.codegen}/gwt-codeserver-2.7.0.jar" />
        <pathelement location="${src.dir}"/>
        <path refid="libpath"/>
      </classpath>
      <arg line="${gwt.args}"/>
      <arg line="-src src"/>
      <arg value="org.waveprotocol.wave.client.testing.UndercurrentHarness"/>
    </java>
  </target>

  <!--=====
      Server
      ======-->

  <target name="run-server" depends="compile"
      description="Runs Wave in a Box server">
    <java failonerror="true" fork="true" classname="org.waveprotocol.box.server.ServerMain">
      <classpath>
        <path refid="libpath"/>
        <path location="${build.src.dir}"/>
        <path location="${build.proto.dir}"/>
        <path location="${build.messages.dir}"/>
      </classpath>
      <jvmarg value="-Dorg.eclipse.jetty.LEVEL=DEBUG"/>
      <jvmarg value="-Djava.security.auth.login.config=jaas.config"/>
    </java>
  </target>

  <target name="debug-server" depends="compile"
      description="Runs Wave in a Box server with debugging">
    <java failonerror="true" fork="true" classname="org.waveprotocol.box.server.ServerMain">
      <classpath>
        <path refid="libpath"/>
        <path location="${build.src.dir}"/>
        <path location="${build.proto.dir}"/>
        <path location="${build.messages.dir}"/>
      </classpath>
      <jvmarg value="-Dorg.eclipse.jetty.LEVEL=DEBUG"/>
      <jvmarg value="-Djava.security.auth.login.config=jaas.config"/>
      <jvmarg value="-Dwave.server.config=server.config"/>
      <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=10898"/>
    </java>
  </target>

  <!--=====
      Distribution
      ======-->

  <target name="stage-dep">
    <uptodate targetfile="${dep}/stage" property="skip.stage">
      <srcfiles dir="${lib.runtime}" includes="*.jar"/>
      <srcfiles dir="${lib.codegen}" includes="gwt/gwt-user-*.jar"/>
      <srcfiles dir="${build.src.dir}"/>
    </uptodate>
  </target>

  <target name="stage" depends="compile, stage-dep"
      description="Copy classes and runtime dependencies to the staging directory" unless="skip.stage">
    <!-- Unzip and copy all the runtime deps into a staging dir -->
    <unzip dest="${staging.dir}">
      <fileset dir="${lib.runtime}">
        <include name="*.jar"/>
      </fileset>
    </unzip>
    <unzip dest="${staging.dir}">
      <fileset dir="${lib.codegen}">
         <include name="gwt-*.jar"/>
      </fileset>
      <patternset>
        <exclude name="javax/servlet/**/*"/>
        <exclude name="org/eclipse/**/*"/>
      </patternset>
    </unzip>
    <copy todir="${staging.dir}" preservelastmodified="true">
      <fileset dir="${build.src.dir}"/>
      <fileset dir="${build.proto.dir}"/>
      <fileset dir="${build.messages.dir}"/>
    </copy>
    <touch file="${dep}/stage"/>
  </target>

  <target name="dist" depends="test, compile-gwt, dist-server, dist-export-import"
      description="Compiles, tests and creates the binary executable.">
  </target>

  <target name="dist-proto" depends="compile-proto" description="Builds the proto jar">
    <jar destfile="${dist.dir}/proto.jar" basedir="${build.proto.dir}"/>
    <jar destfile="${dist.dir}/proto-src.jar" basedir="${src.proto.dir}"/>
    <jar destfile="${dist.dir}/proto-msg.jar" basedir="${gen.dir}/messages"/>
  </target>

  <target name="dist-libraries" depends="compile, dist-proto, dist-pst" description="Builds the distribution libraries">
    <subant target="dist" inheritall="true">
      <fileset dir="${src.dir}" includes="*/**/build.xml"/>
    </subant>
  </target>

  <target name="dist-robot-client-api" depends="compile">
  	<jar destfile="${robotclient.jar.out}">
      <fileset dir="${staging.dir}">
      	<include name="com/google/wave/api/*" />
      	<include name="com/google/wave/api/event/**/*" />
      	<include name="com/google/wave/api/impl/**/*" />
      	<include name="com/google/wave/api/oauth/**/*" />
      	<include name="com/google/wave/api/v2/**/*" />
      </fileset>
      <manifest>
        <attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
        <attribute name="Specification-Title" value="Apache Wave Robot Client API"/>
        <attribute name="Specification-Version" value="${waveinabox.version}"/>
        <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
        <attribute name="Implementation-Title" value="Apache Wave Robot Client API"/>
        <attribute name="Implementation-Version" value="${waveinabox.version}"/>
        <attribute name="Built-By" value="${user.name}"/>
      </manifest>
      <metainf dir="." includes="LICENSE, NOTICE" />
    </jar>
  </target>

  <!-- dist-api is broken due to non-runnable dependencies in the waveserver directory.  TODO: fix. -->
  <target name="dist-api" depends="stage" description="Assembles the Wave in a Box API">
    <jar destfile="${api.jar.out}">
      <fileset dir="${staging.dir}">
        <include name="org/waveprotocol/**/*" />
        <!-- Only exclude runnable targets -->
        <exclude name="org/waveprotocol/box/consoleclient/**/*" />
        <exclude name="org/waveprotocol/box/server/waveserver/**/*" />
      </fileset>
      <manifest>
        <attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
        <attribute name="Specification-Title" value="Apache Wave Reference Impl API"/>
        <attribute name="Specification-Version" value="${waveinabox.version}"/>
        <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
        <attribute name="Implementation-Title" value="Apache Wave Reference Impl API"/>
        <attribute name="Implementation-Version" value="${waveinabox.version}"/>
        <attribute name="Built-By" value="${user.name}"/>
      </manifest>
      <metainf dir="." includes="LICENSE, NOTICE" />
    </jar>
  </target>

  <!-- A healthy mix of hyphens and underscores never hurt anyone.  Sigh. -->
  <target name="dist-server-dep">
    <!-- Note: this check is still very slow (~30secs) -->
    <uptodate targetfile="${dep}/dist-server" property="skip.dist-server">
      <srcfiles dir="${staging.dir}"/>
    </uptodate>
  </target>

  <target name="dist-server" depends="stage, dist-server-dep" description="Assembles the Wave in a Box server" unless="skip.dist-server">
    <jar destfile="${server.jar.out}">
      <fileset dir="${staging.dir}">
        <include name="META-INF/services/*" />
        <include name="com/mongodb/**/*" />
        <include name="org/slf4j/**/*" />
	    <include name="org/atmosphere/**/*" />
        <include name="com/google/common/**/*" />
        <include name="com/google/gson/**/*" />
        <include name="com/google/gxp/**/*" />
        <include name="com/google/gwt/core/server/**/*" />
        <include name="com/google/gwt/core/shared/**/*" />
        <include name="com/google/gwt/logging/**/*" />
        <include name="com/google/gwt/user/server/**/*" />
        <include name="com/google/gwt/user/client/rpc/**/*" />
        <include name="com/google/inject/**/*" />
        <include name="com/google/protobuf/**/*" />
        <include name="com/google/wave/**/*" />
        <include name="com/typesafe/**/*" />
        <include name="gnu/inet/**/*" />
        <include name="javax/inject/**/*" />
        <include name="javax/servlet/**/*" />
        <include name="javax/xml/**/*" />
        <include name="net/oauth/**/*" />
        <include name="org/aopalliance/**/*" />
        <include name="org/apache/commons/cli/**/*" />
        <include name="org/apache/commons/codec/**/*" />
        <include name="org/apache/commons/collections/**/*" />
        <include name="org/apache/commons/configuration/**/*" />
        <include name="org/apache/commons/fileupload/**/*" />
        <include name="org/apache/commons/httpclient/**/*" />
        <include name="org/apache/commons/lang/**/*" />
        <include name="org/apache/commons/logging/**/*" />
        <include name="org/apache/lucene/**/*" />
        <include name="org/apache/commons/io/**/*" />
        <include name="org/apache/xerces/**/*" />
        <include name="org/bson/**/*" />
        <include name="org/dom4j/**/*" />
        <include name="org/eclipse/**/*" />
        <include name="org/jdom/**/*" />
        <include name="org/jivesoftware/**/*" />
        <include name="org/joda/time/**/*" />
        <include name="org/json/**/*" />
        <include name="org/waveprotocol/**/*" />
        <include name="org/xmlpull/**/*" />
        <include name="org/xmpp/**/*" />
        <include name="cc/kune/initials/**/*" />
        <exclude name="org/waveprotocol/box/webclient/**/*"/>
        <exclude name="org/waveprotocol/box/consoleclient/**/*"/>
        <exclude name="org/waveprotocol/box/expimp/**/*"/>
        <exclude name="org/waveprotocol/wave/client/*"/>
        <exclude name="org/waveprotocol/wave/client/account/**/*"/>
        <exclude name="org/waveprotocol/wave/client/autohide/**/*"/>
        <exclude name="org/waveprotocol/wave/client/clipboard/**/*"/>
        <exclude name="org/waveprotocol/wave/client/common/**/*"/>
        <exclude name="org/waveprotocol/wave/client/concurrencycontrol/**/*"/>
        <exclude name="org/waveprotocol/wave/client/debug/**/*"/>
        <exclude name="org/waveprotocol/wave/client/doodad/**/*"/>
        <exclude name="org/waveprotocol/wave/client/paging/**/*"/>
        <exclude name="org/waveprotocol/wave/client/render/**/*"/>
        <exclude name="org/waveprotocol/wave/client/scheduler/**/*"/>
        <exclude name="org/waveprotocol/wave/client/scroll/**/*"/>
        <exclude name="org/waveprotocol/wave/client/state/**/*"/>
        <exclude name="org/waveprotocol/wave/client/testing/**/*"/>
        <exclude name="org/waveprotocol/wave/client/uibuilder/**/*"/>
        <exclude name="org/waveprotocol/wave/client/uibuilder/**/*"/>
        <exclude name="org/waveprotocol/wave/client/util/**/*"/>
        <exclude name="org/waveprotocol/wave/client/wave/**/*"/>
        <exclude name="org/waveprotocol/wave/client/wavepanel/**/*"/>
        <exclude name="org/waveprotocol/wave/client/widget/**/*"/>
        <exclude name="com/google/api/client/**/*"/>
      </fileset>
      <manifest>
        <!-- Application entry point -->
        <attribute name="Main-Class"
          value="org.waveprotocol.box.server.ServerMain"/>
        <attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
        <attribute name="Specification-Title" value="Apache Wave Server"/>
        <attribute name="Specification-Version" value="${waveinabox.version}"/>
        <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
        <attribute name="Implementation-Title" value="Apache Wave Server"/>
        <attribute name="Implementation-Version" value="${waveinabox.version}"/>
        <attribute name="Built-By" value="${user.name}"/>
      </manifest>
      <metainf dir="." includes="LICENSE, NOTICE" />
    </jar>
    <touch file="${dep}/dist-server"/>
  </target>

  <target name="dist-export-import-dep">
    <uptodate targetfile="${dep}/dist-export-import" property="skip.dist-export-import">
      <srcfiles dir="${staging.dir}"/>
    </uptodate>
  </target>

  <target name="dist-export-import" depends="stage, dist-export-import-dep" description="Assembles the Wave Export/Import utilities" unless="skip.dist-export-import">
    <jar destfile="${export-import.jar.out}">
      <fileset dir="${staging.dir}">
	<include name="org/waveprotocol/box/server/common/**/*"/>
        <include name="org/waveprotocol/box/expimp/**/*"/>
        <include name="org/waveprotocol/box/server/persistence/**/*"/>
        <include name="org/waveprotocol/box/server/rpc/**/*"/>
        <include name="org/waveprotocol/wave/**/*"/>
        <include name="org/waveprotocol/protobuf/**/*"/>
        <include name="org/waveprotocol/box/attachment/**/*"/>
        <include name="org/waveprotocol/box/common/comms/**/*"/>
        <include name="org/apache/http/**/*"/>
        <include name="org/apache/commons/**/*"/>
        <include name="com/google/wave/api/**/*"/>
        <include name="com/google/common/**/*"/>
        <include name="com/google/gson/**/*"/>
        <include name="com/google/protobuf/**/*"/>
        <include name="org/json/**/*"/>
        <include name="net/oauth/**/*"/>
      </fileset>
      <manifest>
        <attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
        <attribute name="Specification-Title" value="Apache Wave Export/Import Utilities"/>
        <attribute name="Specification-Version" value="${waveinabox.version}"/>
        <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
        <attribute name="Implementation-Title" value="Apache Wave Export/Import Utilities"/>
        <attribute name="Implementation-Version" value="${waveinabox.version}"/>
        <attribute name="Built-By" value="${user.name}"/>
      </manifest>
      <metainf dir="." includes="LICENSE, NOTICE" />
    </jar>
    <touch file="${dep}/dist-export-import"/>
  </target>

  <!-- This rule should be run whenever the build configuration (i.e. build files, libraries) is changed -->
  <target name="dist-test" depends="dist, test" description="Runs all the unit tests in the project against the jar files">
    <taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask">
      <classpath refid="test.libpath"/>
    </taskdef>

    <junit fork="yes" showoutput="no" haltonerror="yes">
      <classpath>
        <path refid="libpath"/>
        <path refid="test.libpath"/>
        <pathelement location="${server.jar.out}"/>
        <pathelement location="${build.test.dir}"/>
      </classpath>
      <batchtest>
        <fileset dir="${test.dir}">
          <include name="**/*Test.java"/>
        </fileset>
      </batchtest>
      <formatter type="xml"/>
    </junit>
  </target>

  <!--=====
      Release creation
      ======-->

  <target name="release" depends="release-bin,release-src" description="Creates unsigned release">
  </target>

  <target name="release-src" description="Creates unsigned tar+zip for server source release">
    <delete file="${dist.dir}/${release.src.path}.tar.bz2" />
    <delete file="${dist.dir}/${release.src.path}.zip" />
    <copy file="LICENSE.src" tofile="LICENSE" />
    <copy file="NOTICE.src" tofile="NOTICE" />
    <tar destfile="${dist.dir}/${release.src.path}.tar" longfile="gnu">
      <!-- Include everything except built stuff in tree -->
      <tarfileset dir="." prefix="${release.src.path}">
        <exclude name="build/" />
        <exclude name="dist/" />
        <exclude name="_*/" />
        <exclude name="bin/" />
        <exclude name="gen/" />
        <exclude name="test_out/" />
        <exclude name="third_party/" />
        <exclude name="war/webclient/" />
        <exclude name="gwt-unitCache/" />
        <exclude name="LICENSE.*" />
        <exclude name="NOTICE.*" />
      </tarfileset>
      <!-- Setup permissions -->
      <tarfileset dir="." prefix="${release.src.path}" filemode="755">
        <include name="check-certificates.sh" />
        <include name="make_cert.sh" />
        <include name="run-server.sh" />
        <include name="run-export.sh" />
        <include name="run-import.sh" />
      </tarfileset>
    </tar>
    <bzip2 destfile="${dist.dir}/${release.src.path}.tar.bz2" src="${dist.dir}/${release.src.path}.tar" />
    <zip destfile="${dist.dir}/${release.src.path}.zip">
      <tarfileset src="${dist.dir}/${release.src.path}.tar" />
    </zip>
    <delete file="${dist.dir}/${release.src.path}.tar" />
    <delete file="LICENSE" />
    <delete file="NOTICE" />
  </target>

  <target name="release-bin" depends="compile-gwt, dist-server, dist-export-import" description="Creates unsigned tar+zip for server binary release">
    <delete file="${dist.dir}/${release.bin.path}.tar.bz2"/>
    <delete file="${dist.dir}/${release.bin.path}.zip"/>
    <antcall target="gen-server-config"/> 
    <copy file="LICENSE.bin" tofile="LICENSE" />
    <copy file="NOTICE.bin" tofile="NOTICE" />
    <tar destfile="${dist.dir}/${release.bin.path}.tar" longfile="gnu">
      <!-- Actual jars -->
      <tarfileset dir="${dist.dir}" includes="*.jar" prefix="${release.bin.path}/dist" />
      <tarfileset dir="${basedir}" prefix="${release.bin.path}">
        <!-- Documentation + Licensing -->
        <include name="CHANGES" />
        <include name="DISCLAIMER" />
        <include name="KEYS" />
        <include name="LICENSE" />
        <include name="NOTICE" />
        <include name="README" />
        <include name="README.export-import" />
        <include name="RELEASE-NOTES" />
        <include name="THANKS" />
        <!-- Helper scripts -->
        <include name="process-script-args.sh" />
        <!-- Configuration -->
        <include name="build.properties" />
        <include name="jaas.config" />
        <include name="jsongadgets.json" />
        <include name="server.config.example" />
        <include name="server.config" />
        <include name="server-config.xml" />
        <include name="server.federation.config" />
        <include name="server.federation.config.example" />
        <include name="wiab-logging.conf" />
      </tarfileset>
      <!-- Helper scripts -->
      <tarfileset dir="${basedir}" prefix="${release.bin.path}" filemode="755">
        <include name="check-certificates.sh" />
        <include name="make_cert.sh" />
        <include name="run-server.sh" />
        <include name="run-server.bat" />
        <include name="run-export.sh" />
        <include name="run-import.sh" />
        <include name="run-solr.sh" />
        <include name="run-solr.bat" />
      </tarfileset>
      <!-- WAR static content -->
      <tarfileset dir="." includes="war/" prefix="${release.bin.path}" />
      <tarfileset dir="." includes="thumbnail_patterns/" prefix="${release.bin.path}" />
      <tarfileset dir="." includes="platforms/" prefix="${release.bin.path}" />
    </tar>
    <bzip2 destfile="${dist.dir}/${release.bin.path}.tar.bz2" src="${dist.dir}/${release.bin.path}.tar" />
    <zip destfile="${dist.dir}/${release.bin.path}.zip">
      <tarfileset src="${dist.dir}/${release.bin.path}.tar" />
    </zip>
    <delete file="${dist.dir}/${release.bin.path}.tar"/>
    <delete file="LICENSE" />
    <delete file="NOTICE" />
  </target>

  <target name="gen-server-config">
    <ant antfile="server-config.xml" />
  </target>

  <!-- TODO: re-use these when the api code is useful again -->
  <target name="release-robot-client-api" depends="dist-libraries" description="Creates a zip for the java robot client release">
    <delete file="${dist.dir}/${release.robot.name}"/>
    <zip destfile="${dist.dir}/${release.robot.name}">
      <zipfileset dir="${dist.dir}" includes="model.jar"/>
      <zipfileset dir="${dist.dir}" includes="wave-api-${waveinabox.version}.jar"/>
      <zipfileset dir="${lib.dir}/runtime/commons_codec" includes="*.jar"/>
      <zipfileset dir="${lib.dir}/runtime/gson" includes="*.jar"/>
      <zipfileset dir="${lib.dir}/runtime/jdo" includes="*.jar"/>
      <zipfileset dir="${lib.dir}/runtime/oauth" includes="*.jar"/>
      <zipfileset dir="${basedir}" includes="COPYING"/>
    </zip>
  </target>

  <target name="release-robot-client-python-api" description="Creates a zip for the python robot client release">
    <delete file="${dist.dir}/${release.robot.python.name}"/>
    <zip destfile="${dist.dir}/${release.robot.python.name}">
      <zipfileset dir="${src.dir}/python/api" includes="**/*.py"/>
      <zipfileset dir="${basedir}" includes="COPYING"/>
    </zip>
  </target>

  <!--=====
      Other
      ======-->

  <!-- TODO: move notices/licenses as required? -->
  <!-- TODO: checksums? Most of these could be intercepted during download! -->
  <target name="get-third-party" depends="init, get-third-party-codegen, get-third-party-runtime, get-third-party-test" description="Download all third party dependencies">
  </target>

  <target name="get-third-party-codegen" description="Download code generating third party dependencies">
    <get dest="${lib.codegen}" usetimestamp="true" skipexisting="true">
      <url url="http://www.antlr3.org/download/antlr-3.2.jar" />
      <url url="http://central.maven.org/maven2/com/google/gwt/gwt-dev/2.7.0/gwt-dev-2.7.0.jar" />
      <url url="http://central.maven.org/maven2/com/google/gwt/gwt-user/2.7.0/gwt-user-2.7.0.jar" />
      <url url="http://central.maven.org/maven2/com/google/gwt/gwt-codeserver/2.7.0/gwt-codeserver-2.7.0.jar" />
      <url url="http://repo1.maven.org/maven2/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar" />
      <url url="http://repo1.maven.org/maven2/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final-sources.jar" />
      <url url="https://archive.apache.org/dist/velocity/engine/1.6.3/velocity-1.6.3.jar" />
      <url url="https://archive.apache.org/dist/velocity/engine/1.6.3/velocity-1.6.3-dep.jar" />
    </get>
  </target>

  <target name="get-jetty-dep" description="Download run time third party dependencies">
	<get dest="${lib.runtime}" usetimestamp="true" skipexisting="true">
	  <url url="https://olex-secure.openlogic.com/content/openlogic/jetty/9.1.1/jetty-distribution-9.1.1.v20140108.zip" />
	</get>
	<unzip src="${lib.runtime}/jetty-distribution-9.1.1.v20140108.zip" dest="${lib.runtime}">
	  <patternset>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-client-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-annotations-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-continuation-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-http-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-io-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-proxy-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-security-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-server-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-servlet-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-servlets-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-util-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-webapp-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/jetty-xml-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/servlet-api-3.1.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/websocket/websocket-api-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/websocket/websocket-client-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/websocket/websocket-common-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/websocket/websocket-server-9.1.1.v20140108.jar"/>
        <include name="jetty-distribution-9.1.1.v20140108/lib/websocket/websocket-servlet-9.1.1.v20140108.jar"/>
      </patternset>
	  <mapper type="flatten"/>
    </unzip>
  </target>

  <target name="get-atmosphere-dep" description="Download atmosphere framework runtime, java and javascript dependencies">
    <get dest="${lib.runtime}" usetimestamp="true" skipexisting="true">
      <url url="https://oss.sonatype.org/service/local/repositories/releases/content/org/atmosphere/atmosphere-runtime/2.1.0/atmosphere-runtime-2.1.0.jar" />
      <url url="https://oss.sonatype.org/service/local/repositories/releases/content/org/atmosphere/atmosphere-guice/0.8.3/atmosphere-guice-0.8.3.jar" />
      <url url="https://oss.sonatype.org/service/local/repositories/releases/content/eu/infomas/annotation-detector/3.0.0/annotation-detector-3.0.0.jar" />
      <url url="https://oss.sonatype.org/service/local/repositories/releases/content/org/slf4j/slf4j-simple/1.6.1/slf4j-simple-1.6.1.jar" />
      <url url="https://oss.sonatype.org/service/local/repositories/releases/content/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" />
      <url url="https://oss.sonatype.org/service/local/repositories/releases/content/org/atmosphere/client/javascript/2.1.5/javascript-2.1.5.war"  />
    </get>
    <!-- Add Atmosphere Framework javascript client to the server classpath  -->
    <unzip src="${lib.runtime}/javascript-2.1.5.war" dest="${lib.runtime}/javascript-2.1.5" >
     <patternset>
         <include name="javascript/atmosphere-min.js"/>
         <include name="javascript/atmosphere.js"/>
     </patternset>
    </unzip>
    <copy file="${lib.runtime}/javascript-2.1.5/javascript/atmosphere.js" todir="${src.dir}/org/waveprotocol/box/server/rpc/atmosphere" />
    <copy file="${lib.runtime}/javascript-2.1.5/javascript/atmosphere-min.js" todir="${src.dir}/org/waveprotocol/box/server/rpc/atmosphere" />
  </target>

  <target name="get-third-party-runtime" depends="get-jetty-dep, get-atmosphere-dep" description="Download run time third party dependencies">
    <get dest="${lib.runtime}" usetimestamp="true" skipexisting="true">
      <url url="http://central.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" />
      <url url="http://central.maven.org/maven2/org/bouncycastle/bcprov-jdk16/1.45/bcprov-jdk16-1.45.jar" />
      <url url="http://central.maven.org/maven2/commons-fileupload/commons-fileupload/1.2.2/commons-fileupload-1.2.2.jar" />
      <url url="https://archive.apache.org/dist/commons/fileupload/source/commons-fileupload-1.2.2-src.zip" />
      <url url="http://central.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" />
      <url url="http://central.maven.org/maven2/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" />
      <url url="https://archive.apache.org/dist/commons/codec/source/commons-codec-1.4-src.zip" />
      <url url="http://central.maven.org/maven2/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar" />
      <url url="http://central.maven.org/maven2/commons-configuration/commons-configuration/1.6/commons-configuration-1.6.jar" />
      <url url="http://central.maven.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar" />
      <url url="https://archive.apache.org/dist/httpcomponents/commons-httpclient/source/commons-httpclient-3.1-src.zip" />
      <url url="http://central.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" />
      <url url="http://central.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-api.jar" />
      <url url="http://central.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" />
      <url url="http://central.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" />
      <url url="http://central.maven.org/maven2/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar" />
      <url url="http://central.maven.org/maven2/com/google/guava/guava/15.0/guava-15.0.jar" />
      <url url="http://central.maven.org/maven2/com/google/guava/guava-gwt/15.0/guava-gwt-15.0.jar"/>
      <url url="http://central.maven.org/maven2/com/google/inject/extensions/guice-assistedinject/3.0/guice-assistedinject-3.0.jar" />
      <url url="http://central.maven.org/maven2/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar" />
      <url url="http://central.maven.org/maven2/com/google/inject/guice/3.0/guice-3.0.jar" />
      <url url="http://central.maven.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar" />
      <url url="http://central.maven.org/maven2/com/google/gxp/google-gxp/0.2.4-beta/google-gxp-0.2.4-beta.jar" />
      <url url="http://people.apache.org/repo/m1-ibiblio-rsync-repository/javax.jdo/jars/jdo2-api-2.2.jar" />
      <url url="http://central.maven.org/maven2/org/jdom/jdom/1.1.3/jdom-1.1.3.jar" />
      <url url="http://central.maven.org/maven2/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar" />
      <url url="http://central.maven.org/maven2/jline/jline/0.9.94/jline-0.9.94.jar" />
      <url url="http://central.maven.org/maven2/joda-time/joda-time/1.6/joda-time-1.6.jar" />
      <url url="http://central.maven.org/maven2/org/apache/lucene/lucene-core/3.5.0/lucene-core-3.5.0.jar" />
      <url url="http://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/2.11.2/mongo-java-driver-2.11.2.jar" />
      <url url="https://oauth.googlecode.com/svn/code/maven/net/oauth/core/oauth-provider/20100527/oauth-provider-20100527-sources.jar" />
      <url url="https://oauth.googlecode.com/svn/code/maven/net/oauth/core/oauth/20100527/oauth-20100527.jar" />
      <url url="https://oauth.googlecode.com/svn/code/maven/net/oauth/core/oauth-provider/20100527/oauth-provider-20100527.jar" />
      <url url="https://oauth.googlecode.com/svn/code/maven/net/oauth/core/oauth-consumer/20100527/oauth-consumer-20100527.jar" />
      <url url="http://central.maven.org/maven2/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar" />
      <url url="https://protobuf-java-format.googlecode.com/files/protobuf-format-java-1.1.jar" />
      <url url="http://central.maven.org/maven2/org/igniterealtime/tinder/1.2.1/tinder-1.2.1.jar" />
      <url url="http://central.maven.org/maven2/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar" />
      <url url="http://central.maven.org/maven2/xpp3/xpp3_xpath/1.1.4c/xpp3_xpath-1.1.4c.jar" />
      <url url="http://repo1.maven.org/maven2/org/gnu/inet/libidn/1.15/libidn-1.15.jar" />
      <url url="http://archiva.comunes.org/repository/comunes-snapshots/cc/kune/gwt-initials-avatars-shared/1.0-SNAPSHOT/gwt-initials-avatars-shared-1.0-20140324.102812-16.jar" />
      <url url="http://archiva.comunes.org/repository/comunes-snapshots/cc/kune/gwt-initials-avatars-shared/1.0-SNAPSHOT/gwt-initials-avatars-shared-1.0-20140324.102812-16-sources.jar" />
      <url url="http://archiva.comunes.org/repository/comunes-snapshots/cc/kune/gwt-initials-avatars-server/1.0-SNAPSHOT/gwt-initials-avatars-server-1.0-20140324.102825-10.jar" />
      <url url="http://central.maven.org/maven2/com/typesafe/config/1.2.1/config-1.2.1.jar" />
    </get>
    <get dest="${lib.runtime}/whack_1_0_0.zip" usetimestamp="true" skipexisting="true">
      <url url="http://www.igniterealtime.org/downloadServlet?filename=whack/whack_1_0_0.zip" />
    </get>
    <unzip src="${lib.runtime}/whack_1_0_0.zip" dest="${lib.runtime}">
      <patternset>
        <include name="whack_1_0_0/whack.jar" />
      </patternset>
      <mapper type="flatten"/>
    </unzip>
  </target>

  <target name="get-third-party-test" description="Download testing third party dependencies">
    <get dest="${lib.test}" usetimestamp="true" skipexisting="true">
      <url url="http://central.maven.org/maven2/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0.jar" />
      <url url="http://download.forge.objectweb.org/asm/asm-5.0.4.jar" />
      <url url="http://central.maven.org/maven2/cglib/cglib/2.2/cglib-2.2.jar" />
      <url url="http://central.maven.org/maven2/emma/emma/2.0.5312/emma-2.0.5312.jar" />
      <url url="http://central.maven.org/maven2/emma/emma_ant/2.1.5320/emma_ant-2.1.5320.jar" />
      <url url="https://hamcrest.googlecode.com/files/hamcrest-all-1.2.jar" />
      <url url="http://central.maven.org/maven2/org/jmock/jmock-junit3/2.6.0/jmock-junit3-2.6.0.jar" />
      <url url="http://central.maven.org/maven2/org/jmock/jmock/2.6.0/jmock-2.6.0.jar" />
      <url url="http://central.maven.org/maven2/junit/junit/4.10/junit-4.10.jar" />
      <url url="http://central.maven.org/maven2/org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.jar" />
    </get>
  </target>

  <target name="get-third-party-release-dep" depends="init" description="Download release tool third party dependencies">
    <get dest="${lib.release}" usetimestamp="true" skipexisting="true">
      <url url="http://apache.spd.co.il/creadur/apache-rat-0.10/apache-rat-0.10-bin.zip" />
    </get>
    <unzip src="${lib.release}/apache-rat-0.10-bin.zip" dest="${lib.release}">
      <patternset>
        <include name="apache-rat-0.10/apache-rat-0.10.jar"/>
      </patternset>
      <mapper type="flatten"/>
    </unzip>
  </target>

  <target name="get-third-party-solr-dep" depends="init" description="Download Solr third party dependencies.">
    <get dest="${lib.solr}" usetimestamp="true" skipexisting="true">
      <url url="http://apache.spd.co.il/lucene/solr/4.9.1/solr-4.9.1.zip" />
    </get>
    <unzip src="${lib.solr}/solr-4.9.1.zip" dest="${lib.solr}">
      <patternset>
        <include name="solr-4.9.1/example/"/>
      </patternset>
    </unzip>
  </target>

  <target name="audit-licenses" depends="get-third-party-release-dep" description="Run the Apache Rat - release audit tool.">
    <taskdef resource="org/apache/rat/anttasks/antlib.xml">
        <classpath>
          <pathelement location="${lib.release}/apache-rat-0.10.jar"/>
        </classpath>
    </taskdef>
    <report>
      <fileset dir="src"/>
     </report>
  </target>

  <target name="doc" depends="stage" description="Builds the Java documentation for the mode, protocol, and Wave in a Box">
    <javadoc sourcepath="${src.dir}" destdir="${docs.dir}" linksource="yes" author="yes" protected="yes"
        windowtitle="${ant.project.name} Documentation">
      <classpath>
        <pathelement location="${staging.dir}" />
        <path refid="libpath"/>
        <path location="${build.proto.dir}"/>
      </classpath>
      <doctitle>${ant.project.name}</doctitle>
      <footer>&lt;a href="http://www.waveprotocol.org/"&gt;Wave Project&lt;a/&gt;</footer>
    </javadoc>
  </target>
</project>
