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>