1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <project name =" custom_logic_for_metadata_generation" default =" -post-compile" >
3+
4+ <property name =" path_to_metadata" value =" ./assets/metadata" />
5+ <property name =" ns.project.lib" value =" ../../lib/Android" />
6+
7+ <!-- these two properties are passed from cli -->
8+ <property name =" ns.resources" value =" " />
9+
10+
11+ <target name =" create_project_lib" >
12+
13+ <echo message =" make lib/android folder" />
14+
15+ <mkdir dir =" ${ns.project.lib}" />
16+
17+ </target >
18+
19+
20+ <target name =" copy_default_sdk" >
21+
22+ <copy file =" ${ns.resources}/android.jar" todir =" ${ns.project.lib}" />
23+
24+ </target >
25+
26+
27+ <!-- GET MIN SDK VERSION FROM MANIFEST AND SAVE IN PROP "minSdkVersion" -->
28+ <target name =" retrieve_min_version_from_manifest" >
29+
30+ <xmlproperty file =" ./AndroidManifest.xml" collapseAttributes =" true" />
31+
32+ <property name =" relative_path_to_min_declared_sdk" value =" platforms/android-${manifest.uses-sdk.android:minSdkVersion}/android.jar" />
33+
34+ </target >
35+
36+
37+ <!-- DOES MIN SDK EXIST, AS DECLARED IN MANIFEST? -->
38+ <target name =" does_min_sdk_jar_exist" depends =" retrieve_min_version_from_manifest" >
39+
40+ <available file =" ${sdk.dir}/${relative_path_to_min_declared_sdk}" property =" minSdkJar.present" />
41+
42+ </target >
43+
44+
45+ <!-- REPLACE MIN SDK JAR WITH ONE ON USER MACHINE -->
46+ <target name =" replace_default_sdk_if_possible" depends =" does_min_sdk_jar_exist" if =" minSdkJar.present" >
47+
48+ <delete file =" ${ns.project.lib}/android.jar" />
49+
50+ <copy file =" ${sdk.dir}/${relative_path_to_min_declared_sdk}" todir =" ${ns.project.lib}" />
51+
52+ </target >
53+
54+
55+ <target name =" copy_project_jars" >
56+
57+ <copy todir =" ${ns.project.lib}" verbose =" yes" flatten =" yes" failonerror =" no" >
58+
59+ <fileset dir =" ./libs" >
60+ <include name =" *.jar" />
61+ </fileset >
62+
63+ </copy >
64+
65+ </target >
66+
67+
68+ <target name =" delete_old_metadata" >
69+
70+ <delete >
71+
72+ <fileset dir =" ${path_to_metadata}" includes =" **/*.dat" />
73+
74+ </delete >
75+
76+ </target >
77+
78+
79+ <!-- PASS JARS TO METADATA GENERATOR -->
80+ <target name =" generate_metadata_from_given_jars" depends =" create_project_lib, copy_default_sdk, replace_default_sdk_if_possible, copy_project_jars, delete_old_metadata" >
81+
82+ <java jar =" ${ns.resources}/metadata-generator.jar"
83+ fork =" true"
84+ failonerror =" true"
85+ maxmemory =" 128m" >
86+
87+ <arg value =" ${ns.project.lib}" ></arg >
88+
89+ <arg value =" ${path_to_metadata}" ></arg >
90+
91+ </java >
92+
93+ <echo message =" --------- created new metadata and moved it to assets/metadata" />
94+
95+ </target >
96+
97+ <target name =" -post-compile" depends =" generate_metadata_from_given_jars" >
98+
99+ </target >
100+
101+ </project >
0 commit comments