| <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> | |
| <macrodef name="run-tests"> | |
| <attribute name="output"/> | |
| <attribute name="args"/> | |
| <attribute name="classes"/> | |
| <sequential> | |
| <fileset id="tests" dir="${javac.junit.out}" includes="@{classes}" /> | |
| <gwt.junit test.name="test" | |
| test.args="@{args}" | |
| test.jvmargs="${test.jvmargs}" | |
| test.out="@{output}" | |
| 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> | |
| </sequential> | |
| </macrodef> | |
| <target name="test.dev.htmlunit" if="generated" depends="compile.tests" | |
| description="Run tests with HtmlUnit in dev mode"> | |
| <run-tests output="${junit.out}/dev" args="${test.args}" classes="**/AllTests.class"/> | |
| </target> | |
| <target name="test.web.htmlunit" if="generated" depends="compile.tests" | |
| description="Run tests with HtmlUnit in prod mode"> | |
| <run-tests output="${junit.out}/web" args="${test.args} -prod" classes="**/AllTests.class"/> | |
| </target> | |
| <target name="test.nongwt" if="generated" depends="compile.tests" | |
| description="Run tests in the JVM"> | |
| <run-tests output="${junit.out}/nongwt" args="" classes="**/*JreTest.class"/> | |
| </target> | |
| <target name="test" description="Run tests"> | |
| <antcall target="test.nongwt" /> | |
| <antcall target="test.web.htmlunit" /> | |
| <antcall target="test.dev.htmlunit" /> | |
| </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> |