201 lines
6.2 KiB
XML
201 lines
6.2 KiB
XML
|
|
<project name="Record Indexer" default="compile" basedir=".">
|
|
|
|
<!-- PROPERTIES -->
|
|
<!-- ********** -->
|
|
|
|
<!-- Directory containing application source code -->
|
|
<property name="src" location="src"/>
|
|
|
|
<!-- Directory containing testing source code -->
|
|
<property name="test" location="test"/>
|
|
|
|
<!-- Directory containing Java libraries -->
|
|
<property name="lib" location="lib"/>
|
|
|
|
<!-- Directory where the Java compiler puts .class files -->
|
|
<property name="build" location="build"/>
|
|
|
|
<!-- Directory containing database files -->
|
|
<property name="database" location="db"/>
|
|
|
|
<!-- Directory containing demo files -->
|
|
<property name="demo" location="demo"/>
|
|
|
|
<!-- Directory containing passoff files -->
|
|
<property name="passoff" location="passoff"/>
|
|
|
|
<!-- Database file used by the server -->
|
|
<property name="db-file" location="${database}/database.sqlite3"/>
|
|
|
|
<!-- Database file containing empty tables. -->
|
|
<property name="empty-db-file" location="${database}/template.sqlite3"/>
|
|
|
|
<!-- File containing the report output by Checkstyle -->
|
|
<property name="checkstyle-report-file" location="checkstyle-report.txt"/>
|
|
|
|
<!-- Default values for command-line properties. Values specified on the command-line will override these. -->
|
|
<property name="file" value="demo/indexer_data/Records/Records.xml"/>
|
|
<property name="host" value="localhost"/>
|
|
<property name="port" value="39640"/>
|
|
|
|
<!-- CLASS PATHS -->
|
|
<!-- *********** -->
|
|
<path id="lib-classpath">
|
|
<fileset dir="${lib}">
|
|
<include name="**/*.jar" />
|
|
</fileset>
|
|
</path>
|
|
|
|
<path id="all-classpath">
|
|
<path refid="lib-classpath"/>
|
|
<pathelement location="${build}"/>
|
|
</path>
|
|
|
|
<path id="passoff-classpath">
|
|
<path refid="all-classpath"/>
|
|
<pathelement location="${passoff}/server-passoff.jar"/>
|
|
</path>
|
|
|
|
<!-- TASK DEFINITIONS -->
|
|
<!-- **************** -->
|
|
<taskdef classpathref="lib-classpath" resource="checkstyletask.properties"/>
|
|
|
|
|
|
<!-- TARGETS -->
|
|
<!-- ******* -->
|
|
<target name="init" description="create build directories">
|
|
<tstamp/>
|
|
<mkdir dir="${build}"/>
|
|
<mkdir dir="${passoff}"/>
|
|
</target>
|
|
|
|
<target name="clean" description="delete build files and directories">
|
|
<delete dir="${build}"/>
|
|
<delete dir="${passoff}"/>
|
|
</target>
|
|
|
|
<target name="compile" depends="init" description="compile the source code">
|
|
<javac srcdir="${src}" classpathref="lib-classpath" destdir="${build}" debug="true" includeantruntime="true" />
|
|
<javac srcdir="${test}" classpathref="lib-classpath" destdir="${build}" debug="true" includeantruntime="true" />
|
|
</target>
|
|
|
|
<!-- ant importer -Dfile=<INDEXER_DATA_XML_FILE> -->
|
|
<!-- EXAMPLE: ant importer -Dfile=dir1/dir2/indexer_data.xml -->
|
|
<target name="import" depends="compile" description="import indexer data">
|
|
<copy file="${empty-db-file}" tofile="${db-file}" overwrite="true"/>
|
|
<java classname="server.db.importer.Importer" fork="yes">
|
|
<classpath>
|
|
<path refid="all-classpath"/>
|
|
</classpath>
|
|
<arg value="${file}"/>
|
|
<assertions>
|
|
<enable/>
|
|
</assertions>
|
|
</java>
|
|
</target>
|
|
|
|
<!-- ant server {-Dport=<SERVER_PORT_NUMBER>} -->
|
|
<!-- EXAMPLE: ant server -Dport=39640 -->
|
|
<!-- If port number is omitted, run on default port. -->
|
|
<!-- EXAMPLE: ant server -->
|
|
<target name="server" depends="compile" description="run server on specified port">
|
|
<java classname="server.Server" fork="yes">
|
|
<classpath>
|
|
<path refid="all-classpath"/>
|
|
</classpath>
|
|
<arg value="${port}"/>
|
|
<assertions>
|
|
<enable/>
|
|
</assertions>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="server-gui" depends="compile" description="run the server test gui">
|
|
<java classname="servertester.GuiTester" fork="yes">
|
|
<classpath>
|
|
<path refid="all-classpath"/>
|
|
</classpath>
|
|
<assertions>
|
|
<enable/>
|
|
</assertions>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="server-tests" depends="compile" description="run automated server tests">
|
|
<java classname="server.ServerUnitTests" fork="yes">
|
|
<classpath>
|
|
<path refid="all-classpath"/>
|
|
</classpath>
|
|
<assertions>
|
|
<enable/>
|
|
</assertions>
|
|
</java>
|
|
</target>
|
|
|
|
|
|
<!-- ant server-passoff {-Dhost=<SERVER_HOST>} {-Dport=<SERVER_PORT_NUMBER>} -->
|
|
<!-- EXAMPLE: ant server-passoff -Dhost=testserver.cs.byu.edu -Dport=39640 -->
|
|
<!-- If host and/or port number are omitted, default values are used. -->
|
|
<!-- EXAMPLE: ant server-passoff -->
|
|
<target name="server-passoff" depends="compile" description="run server passoff using server on specified host and port">
|
|
<java classname="passoff.ServerPassoff" fork="yes">
|
|
<classpath>
|
|
<path refid="passoff-classpath"/>
|
|
</classpath>
|
|
<arg value="${host}"/>
|
|
<arg value="${port}"/>
|
|
<assertions>
|
|
<enable/>
|
|
</assertions>
|
|
</java>
|
|
</target>
|
|
|
|
<!-- ant client {-Dhost=<SERVER_HOST>} {-Dport=<SERVER_PORT_NUMBER>} -->
|
|
<!-- EXAMPLE: ant client -Dhost=testserver.cs.byu.edu -Dport=39640 -->
|
|
<!-- If host and/or port number are omitted, default values are used. -->
|
|
<!-- EXAMPLE: ant client -->
|
|
<target name="client" depends="compile" description="run client using server on specified host and port">
|
|
<java classname="client.Client" fork="yes">
|
|
<classpath>
|
|
<path refid="all-classpath"/>
|
|
</classpath>
|
|
<arg value="${host}"/>
|
|
<arg value="${port}"/>
|
|
<assertions>
|
|
<enable/>
|
|
</assertions>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="client-tests" depends="compile" description="run automated client tests">
|
|
<java classname="client.ClientUnitTests" fork="yes">
|
|
<classpath>
|
|
<path refid="all-classpath"/>
|
|
</classpath>
|
|
<assertions>
|
|
<enable/>
|
|
</assertions>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="checkstyle" depends="compile" description="run checkstyle on all source code">
|
|
<checkstyle config="checkstyle.xml">
|
|
<fileset dir="${src}" includes="**/*.java">
|
|
</fileset>
|
|
<formatter type="plain" toFile="${checkstyle-report-file}"/>
|
|
<classpath>
|
|
<pathelement location="${build}"/>
|
|
</classpath>
|
|
</checkstyle>
|
|
</target>
|
|
|
|
<target name="demo" description="run the demo">
|
|
<java jar="${demo}/record-indexer-demo.jar" fork="yes" dir="${demo}">
|
|
</java>
|
|
</target>
|
|
|
|
|
|
</project>
|
|
|