1<?xml version="1.0" encoding="UTF-8"?>
2<project name="AndroidMockGenerator" default="frameworkgen.build" basedir="..">
3  <!-- Global Properties -->
4  <property file="/build.properties"/>
5
6  <!-- Imports -->
7  <import file="build-mockgen.xml"/>
8
9  <!-- Android Framework Mockgen Properties -->
10  <property name="android-lib-folder" value="${lib-folder}/android"/>
11  <property name="framework.mock-staging" value="staging/android_framework_mocks"/>
12  <property name="android-15-jar" value="android_v15.jar"/>
13  <property name="android-16-jar" value="android_v16.jar"/>
14  <property name="android-201-jar" value="android_v201.jar"/>
15  <property name="android-21-jar" value="android_v21.jar"/>
16  <property name="android-22-jar" value="android_v22.jar"/>
17  <property name="android-23-jar" value="android_v23.jar"/>
18
19  <!-- property name="framework.mock-bin" value=see build.properties -->
20  <!-- property name="framework.mock-jar" value=see build.properties -->
21
22  <!-- Private Targets -->
23  <target name="-frameworkgen.dirs">
24    <mkdir dir="${framework.mock-bin}"/>
25    <mkdir dir="${framework.mock-staging}"/>
26  </target>
27
28  <target name="-frameworkgen.clean-staging">
29    <delete dir="${staging}"/>
30  </target>
31
32  <!-- Public Targets -->
33  <target name="frameworkgen.clean" depends="-frameworkgen.clean-staging">
34    <delete dir="${framework.mock-bin}/${framework.mock-jar}"/>
35    <delete dir="${framework.mock-staging}"/>
36  </target>
37
38  <target name="frameworkgen.build"
39      depends="-frameworkgen.clean-staging,-frameworkgen.dirs,mockgen.build-deploy"
40      description="Builds the mock support files for mocking Android Framework classes.">
41
42    <generate-framework-mocks api-jar-file="${android-15-jar}" api-level="3"/>
43    <generate-framework-mocks api-jar-file="${android-16-jar}" api-level="4"/>
44    <generate-framework-mocks api-jar-file="${android-201-jar}" api-level="6"/>
45    <generate-framework-mocks api-jar-file="${android-21-jar}" api-level="7"/>
46    <generate-framework-mocks api-jar-file="${android-22-jar}" api-level="8"/>
47  	<generate-framework-mocks api-jar-file="${android-23-jar}" api-level="9"/>
48    <jar destfile="${framework.mock-bin}/${framework.mock-jar}"
49         basedir="${framework.mock-staging}" includes="**/*.class" index="true"/>
50  </target>
51
52  <!-- Macros -->
53  <macrodef name="generate-framework-mocks">
54    <attribute name="api-jar-file"/>
55    <attribute name="api-level"/>
56    <sequential>
57      <java classname="com.google.android.testing.mocking.AndroidFrameworkMockGenerator" fork="true">
58        <classpath>
59          <pathelement location="${mockgen.bin}/${mockgen.deploy-jar}"/>
60          <pathelement location="${android-lib-folder}/@{api-jar-file}"/>
61        </classpath>
62        <arg value="${framework.mock-staging}"/>
63        <arg value="@{api-level}"/>
64      </java>
65    </sequential>
66  </macrodef>
67
68</project>