summaryrefslogtreecommitdiffstats
path: root/src/build-mockgen.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/build-mockgen.xml')
-rw-r--r--src/build-mockgen.xml82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/build-mockgen.xml b/src/build-mockgen.xml
new file mode 100644
index 0000000..3a9a9c4
--- /dev/null
+++ b/src/build-mockgen.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="AndroidMockGenerator" default="mockgen.build" basedir="..">
+ <!-- Global Properties -->
+ <property file="../build.properties"/>
+
+ <!-- Android Mock Generator Properties -->
+ <property name="mockgen.bin" value="bin"/>
+ <property name="mockgen.class-bin" value="bin/classes"/>
+ <property name="mockgen.deploy-jar" value="AndroidMockGenerator.jar"/>
+ <property name="mockgen.includes" value="${java-package}/GeneratedMockJar.readme"/>
+ <property name="mockgen.java-files" value="com/google/android/testing/mocking/*.java"/>
+ <property name="mockgen.nodeps-jar" value="AndroidMockGenerator-nodeps.jar"/>
+ <property name="meta-service-folder" value="META-INF/services"/>
+ <property name="annotations-meta-file"
+ value="${meta-service-folder}/javax.annotation.processing.Processor"/>
+
+ <!-- Classpaths -->
+ <path id="generator.path">
+ <pathelement location="${lib-folder}/${easymock-jar}"/>
+ <pathelement location="${lib-folder}/${javassist-jar}"/>
+ </path>
+
+ <!-- Private Targets -->
+ <target name="-mockgen.dirs">
+ <mkdir dir="${mockgen.bin}"/>
+ <mkdir dir="${mockgen.class-bin}"/>
+ <mkdir dir="${mockgen.class-bin}/${meta-service-folder}"/>
+ </target>
+
+ <target name="-mockgen.clean-staging">
+ <delete dir="${staging}"/>
+ </target>
+
+ <!-- Public Targets -->
+ <target name="mockgen.clean" depends="-mockgen.clean-staging">
+ <delete file="${mockgen.deploy-jar}"/>
+ <delete file="${mockgen.nodeps-jar}"/>
+ <delete dir="${mockgen.class-bin}"/>
+ </target>
+
+ <target name="mockgen.build" depends="-mockgen.clean-staging,-mockgen.dirs"
+ description="Builds the Mock Generator jar file">
+ <javac destdir="${mockgen.class-bin}" srcdir="${source-base}"
+ includes="${mockgen.java-files}" debug="true">
+ <classpath refid="generator.path"/>
+ </javac>
+ <copy todir="${mockgen.class-bin}">
+ <fileset dir="${source-base}" includes="${mockgen.includes}"/>
+ </copy>
+ <echo file="${mockgen.class-bin}/${annotations-meta-file}"
+ message="com.google.android.testing.mocking.UsesMocksProcessor"/>
+ <manifestclasspath property="frameworkjar.classpath"
+ jarfile="${mockgen.bin}/${mockgen.nodeps-jar}">
+ <classpath location="${framework.mock-bin}/${framework.mock-jar}"/>
+ </manifestclasspath>
+ <tstamp>
+ <format property="build.time" pattern="dd-MMMM-yyyy hh:mm aa"/>
+ </tstamp>
+ <jar destfile="${mockgen.bin}/${mockgen.nodeps-jar}" basedir="${mockgen.class-bin}">
+ <manifest>
+ <attribute name="Built-On" value="${build.time}"/>
+ </manifest>
+ </jar>
+ </target>
+
+ <target name="mockgen.build-deploy" depends="mockgen.build"
+ description="Builds the Mock Generator jar file with dependencies included.">
+ <unjar dest="${staging}">
+ <fileset dir=".">
+ <include name="${mockgen.bin}/${mockgen.nodeps-jar}"/>
+ <include name="${lib-folder}/${easymock-jar}"/>
+ <include name="${lib-folder}/${javassist-jar}"/>
+ </fileset>
+ </unjar>
+ <tstamp/>
+ <jar destfile="${mockgen.bin}/${mockgen.deploy-jar}" basedir="${staging}">
+ <manifest>
+ <attribute name="Built-On" value="${build.time}"/>
+ </manifest>
+ </jar>
+ </target>
+</project> \ No newline at end of file