switch to alsa.omap3 module
[android_pandora.git] / apps / oi-filemanager / FileManagerDemo / build.xml
1 <?xml version="1.0" ?>\r
2 <project name="TestFileManager" default="debug">\r
3 \r
4         <!-- Read properties from property file -->\r
5         <property file="build.properties" />\r
6 \r
7         <!-- Read manifest properties , e.g. manifest(android:versionName) or manifest.package -->\r
8         <xmlproperty file="AndroidManifest.xml" />\r
9 \r
10         <!-- Path to Android SDK and tools -->\r
11         <property name="sdk-folder" value="${android.sdk}" />\r
12         <property name="android-tools" value="${sdk-folder}/tools" />\r
13         <echo>Using Android SDK directory ${sdk-folder}</echo>\r
14 \r
15         <!-- Application Package Name -->\r
16         <property name="application-package" value="${manifest(package)}" />\r
17         <property name="version" value="${manifest(android:versionName)}" />\r
18 \r
19         <!-- The intermediates directory -->\r
20         <!-- Eclipse uses "bin" for its own output, so we do the same. -->\r
21         <property name="outdir" value="bin" />\r
22 \r
23         <!-- OpenIntents library file -->\r
24         <property name="openintents-lib-jar" value="lib/openintents-lib.jar" />\r
25 \r
26         <!-- No user servicable parts below. -->\r
27 \r
28         <property name="android-framework" value="${android-tools}/lib/framework.aidl" />\r
29 \r
30         <!-- Input directories -->\r
31         <property name="resource-dir" value="res" />\r
32         <property name="asset-dir" value="assets" />\r
33         <property name="srcdir" value="src" />\r
34         <condition property="srcdir-ospath" value="${basedir}\${srcdir}" else="${basedir}/${srcdir}">\r
35                 <os family="windows" />\r
36         </condition>\r
37 \r
38         <property name="external-libs" value="lib" />\r
39         <condition property="external-libs-ospath" value="${basedir}\${external-libs}" else="${basedir}/${external-libs}">\r
40                 <os family="windows" />\r
41         </condition>\r
42 \r
43         <!-- Output directories -->\r
44         <property name="outdir-classes" value="${outdir}/classes" />\r
45         <condition property="outdir-classes-ospath" value="${basedir}\${outdir-classes}" else="${basedir}/${outdir-classes}">\r
46                 <os family="windows" />\r
47         </condition>\r
48 \r
49         <property name="docdir" value="doc" />\r
50         <property name="releasedir" value="release" />\r
51 \r
52         <!-- Create R.java in the source directory -->\r
53         <property name="outdir-r" value="src" />\r
54 \r
55         <!-- Intermediate files -->\r
56         <property name="dex-file" value="classes.dex" />\r
57         <property name="intermediate-dex" value="${outdir}/${dex-file}" />\r
58         <condition property="intermediate-dex-ospath" value="${basedir}\${intermediate-dex}" else="${basedir}/${intermediate-dex}">\r
59                 <os family="windows" />\r
60         </condition>\r
61 \r
62         <!-- The final package file to generate -->\r
63         <property name="resources-package" value="${outdir}/${ant.project.name}.ap_" />\r
64         <condition property="resources-package-ospath" value="${basedir}\${resources-package}" else="${basedir}/${resources-package}">\r
65                 <os family="windows" />\r
66         </condition>\r
67 \r
68         <property name="out-debug-package" value="${outdir}/${ant.project.name}.apk" />\r
69         <condition property="out-debug-package-ospath" value="${basedir}\${out-debug-package}" else="${basedir}/${out-debug-package}">\r
70                 <os family="windows" />\r
71         </condition>\r
72 \r
73         <property name="out-unsigned-package" value="${outdir}/${ant.project.name}-unsigned.apk" />\r
74         <condition property="out-unsigned-package-ospath" value="${basedir}\${out-unsigned-package}" else="${basedir}/${out-unsigned-package}">\r
75                 <os family="windows" />\r
76         </condition>\r
77 \r
78         <property name="out-signed-package" value="${outdir}/${ant.project.name}-${version}.apk" />\r
79         <condition property="out-signed-package-ospath" value="${basedir}\${out-signed-package}" else="${basedir}/${out-signed-package}">\r
80                 <os family="windows" />\r
81         </condition>\r
82 \r
83         <property name="out-release-source" value="${releasedir}/${ant.project.name}-source-${version}" />\r
84         <condition property="out-release-source-ospath"\r
85                     value="${basedir}\${out-release-source}"\r
86                     else="${basedir}/${out-release-source}" >\r
87                 <os family="windows"/>\r
88         </condition>\r
89 \r
90         <!-- Tools -->\r
91         <condition property="aapt" value="${android-tools}/aapt.exe" else="${android-tools}/aapt">\r
92                 <os family="windows" />\r
93         </condition>\r
94         <condition property="aidl" value="${android-tools}/aidl.exe" else="${android-tools}/aidl">\r
95                 <os family="windows" />\r
96         </condition>\r
97         <condition property="adb" value="${android-tools}/adb.exe" else="${android-tools}/adb">\r
98                 <os family="windows" />\r
99         </condition>\r
100         <condition property="dx" value="${android-tools}/dx.bat" else="${android-tools}/dx">\r
101                 <os family="windows" />\r
102         </condition>\r
103         <condition property="apk-builder" value="${android-tools}/apkbuilder.bat" else="${android-tools}/apkbuilder">\r
104                 <os family="windows" />\r
105         </condition>\r
106 \r
107         <condition property="apk-builder" value="${android-tools}/apkbuilder.bat" else="${android-tools}/apkbuilder">\r
108                 <os family="windows" />\r
109         </condition>\r
110 \r
111         <condition property="android-jar" value="${sdk-folder}\android.jar" else="${sdk-folder}/android.jar">\r
112                 <os family="windows" />\r
113         </condition>\r
114 \r
115         <!-- Rules -->\r
116 \r
117         <!-- Create the output directories if they don't exist yet. -->\r
118         <target name="dirs">\r
119                 <mkdir dir="${outdir}" />\r
120                 <delete dir="${outdir-classes}" />\r
121                 <mkdir dir="${outdir-classes}" />\r
122         </target>\r
123 \r
124         <target name="clear_layout">\r
125                 <echo>purging .bak files </echo>\r
126                 <delete>\r
127                         <fileset dir="." includes="**/*.bak" />\r
128                 </delete>\r
129         </target>\r
130 \r
131         <!-- Generate the R.java file for this project's resources. -->\r
132         <target name="resource-src" depends="dirs">\r
133                 <echo>Generating R.java / Manifest.java from the resources...</echo>\r
134                 <exec executable="${aapt}" failonerror="true">\r
135                         <arg value="package" />\r
136                         <arg value="-m" />\r
137                         <arg value="-J" />\r
138                         <arg value="${outdir-r}" />\r
139                         <arg value="-M" />\r
140                         <arg value="AndroidManifest.xml" />\r
141                         <arg value="-S" />\r
142                         <arg value="${resource-dir}" />\r
143                         <arg value="-I" />\r
144                         <arg value="${android-jar}" />\r
145                 </exec>\r
146         </target>\r
147 \r
148         <!-- Generate java classes from .aidl files. -->\r
149         <target name="aidl" depends="dirs">\r
150                 <echo>Compiling aidl files into Java classes...</echo>\r
151                 <apply executable="${aidl}" failonerror="true">\r
152                         <arg value="-p${android-framework}" />\r
153                         <arg value="-I${srcdir}" />\r
154                         <fileset dir="${srcdir}">\r
155                                 <include name="**/*.aidl" />\r
156                         </fileset>\r
157                 </apply>\r
158         </target>\r
159 \r
160         <!-- Compile this project's .java files into .class files. -->\r
161         <target name="compile" depends="dirs, resource-src, aidl">\r
162                 <javac encoding="ascii" target="1.5" debug="true" extdirs="" srcdir="." destdir="${outdir-classes}" bootclasspath="${android-jar}">\r
163                         <classpath>\r
164                                 <fileset dir="${external-libs}" includes="*.jar" />\r
165                         </classpath>\r
166                 </javac>\r
167         </target>\r
168 \r
169         <!-- Convert this project's .class files into .dex files. -->\r
170         <target name="dex" depends="compile">\r
171                 <echo>Converting compiled files and external libraries into ${outdir}/${dex-file}...</echo>\r
172                 <apply executable="${dx}" failonerror="true" parallel="true">\r
173                         <arg value="--dex" />\r
174                         <arg value="--output=${intermediate-dex-ospath}" />\r
175                         <arg path="${outdir-classes-ospath}" />\r
176                         <fileset dir="${external-libs}" includes="*.jar" />\r
177                 </apply>\r
178         </target>\r
179 \r
180         <!-- Put the project's resources into the output package file. -->\r
181         <target name="package-res-and-assets">\r
182                 <echo>Packaging resources and assets...</echo>\r
183                 <exec executable="${aapt}" failonerror="true">\r
184                         <arg value="package" />\r
185                         <arg value="-f" />\r
186                         <arg value="-M" />\r
187                         <arg value="AndroidManifest.xml" />\r
188                         <arg value="-S" />\r
189                         <arg value="${resource-dir}" />\r
190                         <arg value="-A" />\r
191                         <arg value="${asset-dir}" />\r
192                         <arg value="-I" />\r
193                         <arg value="${android-jar}" />\r
194                         <arg value="-F" />\r
195                         <arg value="${resources-package}" />\r
196                 </exec>\r
197         </target>\r
198 \r
199         <!-- Same as package-res-and-assets, but without "-A ${asset-dir}" -->\r
200         <target name="package-res-no-assets">\r
201                 <echo>Packaging resources...</echo>\r
202                 <exec executable="${aapt}" failonerror="true">\r
203                         <arg value="package" />\r
204                         <arg value="-f" />\r
205                         <arg value="-M" />\r
206                         <arg value="AndroidManifest.xml" />\r
207                         <arg value="-S" />\r
208                         <arg value="${resource-dir}" />\r
209                         <!-- No assets directory -->\r
210                         <arg value="-I" />\r
211                         <arg value="${android-jar}" />\r
212                         <arg value="-F" />\r
213                         <arg value="${resources-package}" />\r
214                 </exec>\r
215         </target>\r
216 \r
217         <!-- Invoke the proper target depending on whether or not\r
218          an assets directory is present. -->\r
219         <!-- TODO: find a nicer way to include the "-A ${asset-dir}" argument\r
220          only when the assets dir exists. -->\r
221         <target name="package-res">\r
222                 <available file="${asset-dir}" type="dir" property="res-target" value="and-assets" />\r
223                 <property name="res-target" value="no-assets" />\r
224                 <antcall target="package-res-${res-target}" />\r
225         </target>\r
226 \r
227         <!-- Package the application and sign it with a debug key.\r
228                  This is the default target when building. It is used for debug. -->\r
229         <target name="debug" depends="dex, package-res">\r
230                 <echo>Packaging ${out-debug-package}, and signing it with a debug key...</echo>\r
231                 <exec executable="${apk-builder}" failonerror="true">\r
232                         <arg value="${out-debug-package-ospath}" />\r
233                         <arg value="-z" />\r
234                         <arg value="${resources-package-ospath}" />\r
235                         <arg value="-f" />\r
236                         <arg value="${intermediate-dex-ospath}" />\r
237                         <arg value="-rf" />\r
238                         <arg value="${srcdir-ospath}" />\r
239                         <arg value="-rj" />\r
240                         <arg value="${external-libs-ospath}" />\r
241                 </exec>\r
242         </target>\r
243 \r
244         <!-- Package the application without signing it.\r
245          This allows for the application to be signed later with an official publishing key. -->\r
246         <target name="release" depends="dex, package-res">\r
247                 <echo>Packaging ${out-unsigned-package} for release...</echo>\r
248                 <exec executable="${apk-builder}" failonerror="true">\r
249                         <arg value="${out-unsigned-package-ospath}" />\r
250                         <arg value="-u" />\r
251                         <arg value="-z" />\r
252                         <arg value="${resources-package-ospath}" />\r
253                         <arg value="-f" />\r
254                         <arg value="${intermediate-dex-ospath}" />\r
255                         <arg value="-rf" />\r
256                         <arg value="${srcdir-ospath}" />\r
257                         <arg value="-rj" />\r
258                         <arg value="${external-libs-ospath}" />\r
259                 </exec>\r
260                 <signjar jar="${out-unsigned-package-ospath}" alias="${cert-alias}" keystore="${keystore}" storepass="${storepass}" signedjar="${out-signed-package-ospath}" />\r
261         </target>\r
262 \r
263         <!-- Install the package on the default emulator -->\r
264         <target name="install" depends="debug">\r
265                 <echo>Installing ${out-debug-package} onto default emulator...</echo>\r
266                 <exec executable="${adb}" failonerror="true">\r
267                         <arg value="install" />\r
268                         <arg value="${out-debug-package}" />\r
269                 </exec>\r
270         </target>\r
271 \r
272         <target name="reinstall" depends="debug">\r
273                 <echo>Installing ${out-debug-package} onto default emulator...</echo>\r
274                 <exec executable="${adb}" failonerror="true">\r
275                         <arg value="install" />\r
276                         <arg value="-r" />\r
277                         <arg value="${out-debug-package}" />\r
278                 </exec>\r
279         </target>\r
280 \r
281 \r
282         <!-- Install the package on the default emulator -->\r
283         <target name="install-signed" depends="release">\r
284                 <echo>Installing ${out-signed-package} onto default emulator...</echo>\r
285                 <exec executable="${adb}" failonerror="true">\r
286                         <arg value="install" />\r
287                         <arg value="${out-signed-package}" />\r
288                 </exec>\r
289         </target>\r
290 \r
291         <target name="reinstall-signed" depends="release">\r
292                 <echo>Reinstalling ${out-signed-package} onto default emulator...</echo>\r
293                 <exec executable="${adb}" failonerror="true">\r
294                         <arg value="install" />\r
295                         <arg value="-r" />\r
296                         <arg value="${out-signed-package}" />\r
297                 </exec>\r
298         </target>\r
299                         \r
300         <!-- Uinstall the package from the default emulator -->\r
301         <target name="uninstall">\r
302                 <echo>Uninstalling ${application-package} from the default emulator...</echo>\r
303                 <exec executable="${adb}" failonerror="true">\r
304                         <arg value="uninstall" />\r
305                         <arg value="${application-package}" />\r
306                 </exec>\r
307         </target>\r
308 \r
309 \r
310 \r
311 \r
312         <!-- ############### JavaDoc ####################### -->\r
313         <!-- Create JavaDoc -->\r
314         <target name="javadoc">\r
315                 <delete dir="${docdir}" />\r
316                 <javadoc access="public" author="true" destdir="${docdir}" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" source="1.6" sourcepath="${srcdir}" splitindex="true" use="true" version="true">\r
317                 </javadoc>\r
318         </target>\r
319 \r
320         <!-- ############### Release source ####################### -->\r
321         <!-- Copy to source release -->\r
322         <target name="release-source">\r
323         <delete dir="${releasedir}"/>\r
324         <mkdir dir="${releasedir}" />\r
325                 <copy todir="${out-release-source-ospath}">\r
326                         <fileset dir=".">\r
327                                 <exclude name="**/bin/**" />\r
328                                 <exclude name="**/doc/**" />\r
329                                 <exclude name="**/release/**" />\r
330                                 <exclude name="**/tmp/**" />\r
331                                 <exclude name="**/.svn" />\r
332                                 <exclude name="**/build-private.properties" />\r
333                         </fileset>\r
334                 </copy>\r
335                 <zip destfile="${out-release-source-ospath}.zip">\r
336                         <zipfileset dir="${out-release-source-ospath}" prefix="${ant.project.name}-source-${version}"/>\r
337                 </zip>\r
338                 <delete dir="${out-release-source-ospath}"/>\r
339     </target>\r
340         \r
341         <!-- ############ Convencience target ############## -->\r
342         <target name="all" depends="debug, javadoc" />\r
343 \r
344 </project>\r