Files
narya/tests/build.xml
T
Michael Bayne e54a4d41f4 The great invocation services rethink of 2002! Rearchitected the remote
method invocation services and converted everything to the new style.
Could this be my biggest checkin ever?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-14 19:08:01 +00:00

166 lines
5.9 KiB
XML

<!-- build configuration -->
<project name="narya tests" default="compile" basedir=".">
<!-- things you may want to change -->
<property name="build.compiler" value="jikes"/>
<property name="junit.fork" value="true"/>
<!-- we want to access the environment -->
<property environment="env"/>
<property name="java.libraries" value="${env.JAVA_LIBS}"/>
<!-- things you probably don't want to change -->
<property name="test.dir" value="."/>
<property name="src.dir" value="src/java"/>
<property name="deploy.dir" value="dist"/>
<property name="cbundle.dir" value="rsrc/bundles/components"/>
<property name="tbundle.dir" value="rsrc/bundles/tiles"/>
<!-- declare our classpath -->
<property name="classes.dir" value="${deploy.dir}/classes"/>
<property name="narya.classes.dir" value="../${deploy.dir}/classes"/>
<path id="classpath">
<pathelement location="${classes.dir}"/>
<pathelement location="${narya.classes.dir}"/>
<fileset dir="../lib" includes="**/*.jar"/>
<fileset dir="${java.libraries}" includes="**/*.jar"/>
</path>
<!-- generates .java files for all .dobj files -->
<target name="gendobj">
<apply executable="../bin/gendobj" failonerror="true">
<srcfile/>
<fileset dir="src/java" includes="**/*.dobj"/>
</apply>
</target>
<!-- generates marshaller and dispatcher classes for all invocation
service declarations -->
<target name="genservice">
<apply executable="../bin/genservice" failonerror="true" parallel="true">
<arg value="--classpath"/>
<arg value="${classes.dir}:${narya.classes.dir}"/>
<arg value="--sourcedir"/>
<arg value="src/java"/>
<fileset dir="src/java" includes="**/*Service.java"
excludes="**/InvocationService.java"/>
</apply>
</target>
<!-- generates sender and decoder classes for all invocation
receiver declarations -->
<target name="genreceiver">
<apply executable="../bin/genreceiver" failonerror="true" parallel="true">
<arg value="--classpath"/>
<arg value="${classes.dir}:${narya.classes.dir}"/>
<arg value="--sourcedir"/>
<arg value="src/java"/>
<fileset dir="src/java" includes="**/*Receiver.java"
excludes="**/InvocationReceiver.java"/>
</apply>
</target>
<!-- prepares the application directories -->
<target name="prepare" depends="gendobj">
<mkdir dir="${deploy.dir}"/>
<mkdir dir="${classes.dir}"/>
<copy todir="${classes.dir}">
<fileset dir="${src.dir}" includes="**/*.properties"/>
</copy>
<copy todir="${classes.dir}/rsrc">
<fileset dir="rsrc" includes="**/*"/>
</copy>
</target>
<!-- cleans out the installed application -->
<target name="clean">
<delete dir="${deploy.dir}"/>
</target>
<!-- build the java class files -->
<target name="compile" depends="prepare">
<javac srcdir="${src.dir}" destdir="${classes.dir}"
debug="on" optimize="off" deprecation="off">
<classpath refid="classpath"/>
</javac>
</target>
<!-- run the tests -->
<target name="test" depends="compile" description="Run tests.">
<junit printsummary="no" haltonfailure="yes" fork="${junit.fork}">
<classpath refid="classpath"/>
<sysproperty key="test_dir" value="${test.dir}"/>
<sysproperty key="resource_url" value="file:${test.dir}/rsrc"/>
<formatter type="brief" usefile="false"/>
<batchtest>
<fileset dir="${src.dir}">
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
</target>
<!-- test the component metadata bundling process -->
<target name="cbundles" description="Build component bundles.">
<!-- define our tasks -->
<taskdef name="metabundle"
classname="com.threerings.cast.bundle.tools.MetadataBundlerTask"/>
<taskdef name="cbundle"
classname="com.threerings.cast.bundle.tools.ComponentBundlerTask"/>
<!-- build the metadata bundles -->
<metabundle actiondef="${cbundle.dir}/actions.xml"
classdef="${cbundle.dir}/classes.xml"
target="${cbundle.dir}/metadata.jar"/>
<!-- blow away the components map file so that we get a consistent
mapping every time-->
<delete file="${cbundle.dir}/components.map"/>
<!-- build the component bundles -->
<cbundle actiondef="${cbundle.dir}/actions.xml"
target="${cbundle.dir}/pirate/components.jar"
mapfile="${cbundle.dir}/components.map"
root="${cbundle.dir}/pirate">
<fileset dir="${cbundle.dir}/pirate" includes="**/*.png"/>
</cbundle>
<cbundle actiondef="${cbundle.dir}/actions.xml"
target="${cbundle.dir}/vessel/components.jar"
mapfile="${cbundle.dir}/components.map"
root="${cbundle.dir}/vessel">
<fileset dir="${cbundle.dir}/vessel" includes="**/*.png"/>
</cbundle>
</target>
<!-- test the tileset bundling process -->
<target name="tsbundles" description="Build tileset bundles.">
<!-- blow away the tilesetid map file so that we get a consistent
mapping every time-->
<delete file="${tbundle.dir}/tilesets.map"/>
<!-- build the tileset bundles -->
<taskdef name="tilebundle"
classname="com.threerings.media.tile.bundle.tools.TileSetBundlerTask"/>
<tilebundle config="${tbundle.dir}/bundler-config.xml"
mapfile="${tbundle.dir}/tilesets.map">
<fileset dir="${tbundle.dir}/ground" includes="**/*.xml"/>
</tilebundle>
<tilebundle config="${tbundle.dir}/bundler-config.xml"
mapfile="${tbundle.dir}/tilesets.map">
<fileset dir="${tbundle.dir}/objects" includes="**/*.xml"/>
</tilebundle>
<!-- build the fringe configurations -->
<taskdef name="conffringe"
classname="com.threerings.miso.tile.tools.CompileFringeConfigurationTask"/>
<conffringe
tilesetmap="${tbundle.dir}/tilesets.map"
fringedef="rsrc/config/miso/tile/fringeconf.xml"
target="rsrc/config/miso/tile/fringeconf.dat"/>
</target>
</project>