blob: b69935b9a3d6966e48acd59553059976d1022d01 [file] [log] [blame]
<project name="elemental" default="build" basedir=".">
<property name="gwt.root" location=".." />
<property name="project.tail" value="elemental" />
<property name="test.args" value="-ea" />
<property name="test.jvmargs" value="-ea" />
<import file="${gwt.root}/common.ant.xml" />
<!-- Platform shouldn't matter here, just picking one -->
<property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev.jar" />
<property.ensure name="gwt.user.jar" location="${gwt.build.lib}/gwt-user.jar" />
<target name="check.generated" description="Check whether elemental code has been generated">
<condition property="generated">
<available file="idl/generated/src" type="dir" />
</condition>
</target>
<target name="generate" description="Generate Elemental bindings from IDL">
<exec executable="idl/build" dir="." failonerror="true"/>
</target>
<target name="compile" description="Compile all class files">
<mkdir dir="${javac.out}" />
<gwt.javac srcdir="src:idl/generated/src" excludes="**/super/**">
<classpath>
<pathelement location="${gwt.dev.jar}" />
<pathelement location="${gwt.user.jar}" />
</classpath>
</gwt.javac>
</target>
<target name="compile.tests" if="generated" depends="check.generated" description="Compile Tests">
<echo message="${javac.junit.out}" />
<mkdir dir="${javac.junit.out}" />
<gwt.javac srcdir="src:idl/generated/src:tests" destdir="${javac.junit.out}" excludes="**/super/**">
<classpath>
<pathelement location="${javac.out}"/>
<pathelement location="${gwt.dev.jar}" />
<pathelement location="${gwt.user.jar}" />
<pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" />
</classpath>
</gwt.javac>
</target>
<target name="build" depends="generate, compile"
description="Creates gwt-elemental.jar">
<mkdir dir="${gwt.build.lib}" />
<gwt.jar>
<fileset dir="src" excludes="**/package.html" />
<fileset dir="idl/generated/src"/>
<fileset dir="${javac.out}" />
</gwt.jar>
</target>
<target name="test" if="generated" depends="compile.tests" description="Run tests">
<mkdir dir="${junit.out}/elemental" />
<fileset id="tests" dir="${javac.junit.out}" includes="**/AllTests.class" />
<gwt.junit test.name="test"
test.args="${test.args}"
test.jvmargs="${test.jvmargs}"
test.out="${junit.out}/codeserver"
test.cases="tests">
<extraclasspaths>
<pathelement location="${gwt.root}/elemental/src" />
<pathelement location="${gwt.root}/elemental/idl/generated/src" />
<pathelement location="${gwt.root}/elemental/tests" />
<pathelement location="${gwt.dev.jar}" />
<pathelement location="${gwt.user.jar}" />
</extraclasspaths>
</gwt.junit>
</target>
<macrodef name="compileModule">
<element name="module" />
<sequential>
<java classname="com.google.gwt.dev.CompileModule" fork="yes" failonerror="true">
<classpath>
<pathelement location="${gwt.root}/elemental/src" />
<pathelement location="${gwt.root}/elemental/idl/generated/src" />
<pathelement location="${gwt.dev.jar}" />
<pathelement location="${gwt.user.jar}" />
</classpath>
<jvmarg value="-Xmx512M" />
<module />
<arg value="-strict" />
<arg value="-sourceLevel" />
<arg value="${javac.source}" />
<arg value="-out" />
<arg value="${project.build}/bin" />
</java>
</sequential>
</macrodef>
<target name="clean"
description="Cleans this project's intermediate and output files">
<delete dir="idl/generated" />
<delete dir="idl/database" />
<delete dir="${project.build}" />
<delete dir="${javac.junit.out}" />
<delete file="${project.lib}" />
</target>
</project>