Skip to content

Commit 661bf99

Browse files
author
plamen5kov
committed
added custom_rules.xml to android project template
1 parent ded0c8c commit 661bf99

1 file changed

Lines changed: 101 additions & 0 deletions

File tree

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
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

Comments
 (0)