| <?xml version="1.0" encoding="UTF-8"?> |
| <project name="Android Mock" default="all-tests" basedir="."> |
| <description> |
| Android Mock is a wrapper for EasyMock (2.4) which allows for real Class mocking on |
| an Android (Dalvik) VM. |
| |
| All methods on Android Mock are syntactically equivalent to EasyMock method |
| calls, and will delegate calls to EasyMock, while performing the required |
| transformations to avoid Dalvik VM troubles. |
| |
| Calls directly to EasyMock will work correctly only if the Class being mocked |
| is in fact an Interface. Calls to Android Mock will work correctly for both |
| Interfaces and concrete Classes. |
| |
| Android Mock requires that the code being mocked be instrumented prior to |
| loading to the Dalvik VM by having called the MockGenerator.jar file. Try |
| running java -jar MockGenerator.jar --help for more information. |
| </description> |
| |
| <!-- Global Build Properties --> |
| <property file="build.properties"/> |
| |
| <!-- Imports --> |
| <import file="src/build-runtime.xml"/> |
| <import file="src/build-mockgen.xml"/> |
| <import file="src/build-framework-gen.xml"/> |
| |
| <!-- Android Mock Source Jar Properties --> |
| <property name="source-bin" value="bin/source"/> |
| <property name="source-lib-jar" value="AndroidMock-src.jar"/> |
| |
| <!-- Android Mock Test Properties --> |
| <property name="junit-jar" value="junit.jar"/> |
| <property name="test-bin" value="bin/tests"/> |
| <property name="test-results-folder" value="${test-bin}/results"/> |
| <property name="test-source-base" value="tests"/> |
| |
| <!-- Classpaths --> |
| <path id="tests.path"> |
| <pathelement location="${lib-folder}/${easymock-jar}"/> |
| <pathelement location="${lib-folder}/${javassist-jar}"/> |
| <pathelement location="${runtime.bin}/${runtime.deploy-jar}"/> |
| <pathelement location="${mockgen.bin}/${mockgen.deploy-jar}"/> |
| <pathelement location="${lib-folder}/${junit-jar}"/> |
| </path> |
| |
| <!-- Private Build Targets --> |
| <target name="-dirs"> |
| <mkdir dir="${source-bin}"/> |
| <mkdir dir="${test-bin}"/> |
| <mkdir dir="${staging}"/> |
| <mkdir dir="${test-results-folder}"/> |
| </target> |
| |
| <target name="-clean-staging"> |
| <delete dir="${staging}"/> |
| </target> |
| |
| <!-- Public Build Targets --> |
| <target name="clean" depends="-clean-staging,mockgen.clean,runtime.clean"> |
| <delete dir="${source-bin}"/> |
| <delete dir="${framework-mock-staging}"/> |
| <delete dir="${test-results-folder}" failonerror="false"/> |
| <delete dir="${test-bin}" failonerror="false"/> |
| </target> |
| |
| <target name="build-dist" |
| depends="mockgen.build-deploy, runtime.build-deploy, build-source-lib"/> |
| |
| <target name="build-source-lib" depends="-dirs" |
| description="Builds a jar file containing the Android Mock source files (no dependencies)"> |
| <jar destfile="${source-bin}/${source-lib-jar}" basedir="${source-base}" includes="**/*.java"/> |
| </target> |
| |
| <!-- Public Test Targets --> |
| <target name="all-tests" depends="-test-base" |
| description="Builds the full distribution package and runs all tests storing results in ${test-results-folder}"> |
| <junit printsummary="no" showoutput="no" reloading="false" failureproperty="testsFailed"> |
| <formatter type="xml"/> |
| <classpath location="${test-bin}"/> |
| <classpath refid="tests.path"/> |
| <batchtest todir="${test-results-folder}"> |
| <fileset dir="${test-bin}"> |
| <include name="**/*Test.class"/> |
| <include name="**/*Tests.class"/> |
| </fileset> |
| </batchtest> |
| </junit> |
| <echo>Test Results are available in ${test-results-folder}</echo> |
| <junitreport todir="${test-results-folder}"> |
| <fileset dir="${test-results-folder}"> |
| <include name="TEST-*.xml"/> |
| </fileset> |
| <report format="frames" todir="${test-results-folder}/html"/> |
| </junitreport> |
| <fail if="testsFailed" message="Tests failed"/> |
| </target> |
| |
| <!-- Private Test Targets --> |
| <target name="-test-base" depends="build-dist"> |
| <javac destdir="${test-bin}" target="1.5" srcdir="${test-source-base}" |
| debug="true" > |
| <compilerarg value="-proc:none"/> |
| <classpath refid="tests.path"/> |
| </javac> |
| </target> |
| |
| </project> |