]>
Commit | Line | Data |
---|---|---|
6527f429 DM |
1 | <?xml version="1.0" encoding="UTF-8"?>\r |
2 | <project name="Cordova" default="cordova-help">\r | |
3 | <!--Legacy properties file support-->\r | |
4 | <property file="${app.dir}/cordova.local.properties"/>\r | |
5 | \r | |
6 | <!--Init for All Cordova Task-->\r | |
7 | <target name="-before-cordova-init"/>\r | |
8 | <target name="-cordova-init">\r | |
9 | <if>\r | |
10 | <x-is-true value="app.cordova.config.verbose"/>\r | |
11 | <then>\r | |
12 | <property name="cordova.cli.options" value="-d"/>\r | |
13 | </then>\r | |
14 | <else>\r | |
15 | <property name="cordova.cli.options" value=""/>\r | |
16 | </else>\r | |
17 | </if>\r | |
18 | </target>\r | |
19 | <target name="-after-cordova-init"/>\r | |
20 | <target name="cordova-init"\r | |
21 | depends="-init, -before-cordova-init, -cordova-init, -after-cordova-init"/>\r | |
22 | \r | |
23 | <target name="cordova-help"/>\r | |
24 | \r | |
25 | <!-- Create Cordova Application-->\r | |
26 | <target name="cordova-create" depends="cordova-init">\r | |
27 | <if>\r | |
28 | <not>\r | |
29 | <available file="${app.cordova.config.path}" type="dir"/>\r | |
30 | </not>\r | |
31 | <then>\r | |
32 | <cordova-echo message="Creating Cordova Application with ID "${app.cordova.config.id}" and Name "${app.cordova.config.name}""/>\r | |
33 | <x-shell reloadprofile="true" dir="${app.dir}">\r | |
34 | cordova ${cordova.cli.options} create "${app.cordova.config.path}" ${app.cordova.config.id} "${app.cordova.config.name}"\r | |
35 | </x-shell>\r | |
36 | </then>\r | |
37 | </if>\r | |
38 | </target>\r | |
39 | \r | |
40 | <!-- Prepares application for all platforms -->\r | |
41 | <target name="-before-cordova-prepare"/>\r | |
42 | <target name="-cordova-prepare" if="args.prepare">\r | |
43 | <cordova-echo message="Attempting Cordova Prepare for platforms "${cordova.platforms.clean}""/>\r | |
44 | <x-shell reloadprofile="true" dir="${app.cordova.config.path}">\r | |
45 | cordova ${cordova.cli.options} prepare ${cordova.platforms.clean}\r | |
46 | </x-shell>\r | |
47 | </target>\r | |
48 | <target name="-after-cordova-prepare"/>\r | |
49 | <target name="cordova-prepare" depends="cordova-init, -before-cordova-prepare, -cordova-prepare, -after-cordova-prepare"/>\r | |
50 | \r | |
51 | <!-- Emulates application on all platforms -->\r | |
52 | <target name="-before-cordova-emulate"/>\r | |
53 | <target name="-cordova-emulate" if="args.emulate" depends="cordova-platform-add">\r | |
54 | <cordova-echo message="Attempting Cordova Emulate for platforms "${cordova.platforms.clean}""/>\r | |
55 | <x-shell reloadprofile="true" dir="${app.cordova.config.path}">\r | |
56 | cordova ${cordova.cli.options} emulate ${cordova.platforms.clean} --target=${app.cordova.config.target}\r | |
57 | </x-shell>\r | |
58 | </target>\r | |
59 | <target name="-after-cordova-emulate"/>\r | |
60 | <target name="cordova-emulate" depends="cordova-init, -before-cordova-emulate, -cordova-emulate, -after-cordova-emulate"/>\r | |
61 | \r | |
62 | <!-- Runs application on device for all platforms -->\r | |
63 | <target name="-before-cordova-run"/>\r | |
64 | <target name="-cordova-run" if="args.autorun" depends="cordova-platform-add">\r | |
65 | <cordova-echo message="Attempting Cordova Run for platforms "${cordova.platforms.clean}""/>\r | |
66 | <x-shell reloadprofile="true" dir="${app.cordova.config.path}">\r | |
67 | cordova ${cordova.cli.options} run ${cordova.platforms.clean} --target=${app.cordova.config.target}\r | |
68 | </x-shell>\r | |
69 | </target>\r | |
70 | <target name="-after-cordova-run"/>\r | |
71 | <target name="cordova-run" depends="cordova-init, -before-cordova-run, -cordova-run, -after-cordova-run"/>\r | |
72 | \r | |
73 | <!-- Builds application for all platforms -->\r | |
74 | <target name="-before-cordova-build"/>\r | |
75 | <target name="-cordova-build" depends="cordova-platform-add">\r | |
76 | <cordova-echo message="Attempting Cordova Build for platforms "${cordova.platforms.clean}""/>\r | |
77 | <x-shell reloadprofile="true" dir="${app.cordova.config.path}">\r | |
78 | cordova ${cordova.cli.options} build ${cordova.platforms.clean}\r | |
79 | </x-shell>\r | |
80 | </target>\r | |
81 | <target name="-after-cordova-build"/>\r | |
82 | <target name="cordova-build" depends="cordova-init, -before-cordova-build, -cordova-build, -after-cordova-build"/>\r | |
83 | \r | |
84 | <!-- Adds all missing Platforms from properties file to the project-->\r | |
85 | <target name="-before-cordova-platform-add"/>\r | |
86 | <target name="-cordova-platform-add">\r | |
87 | <fail status="0" message="No platforms were specified, add a platform to ${build.name}'s -> cordova -> config -> platforms property in app.json">\r | |
88 | <condition>\r | |
89 | <or>\r | |
90 | <not>\r | |
91 | <isset property="cordova.platforms"/>\r | |
92 | </not>\r | |
93 | <contains string="${cordova.platforms}" substring="$"/>\r | |
94 | </or>\r | |
95 | </condition>\r | |
96 | </fail>\r | |
97 | \r | |
98 | \r | |
99 | <script language="javascript">\r | |
100 | var platforms = project.getProperty("cordova.platforms");\r | |
101 | \r | |
102 | if (!platforms) {\r | |
103 | platforms = ""\r | |
104 | }\r | |
105 | platforms = platforms.replace("/,/g", " ");\r | |
106 | project.setProperty("cordova.platforms.clean", platforms);\r | |
107 | </script>\r | |
108 | \r | |
109 | <x-shell reloadprofile="true" dir="${app.cordova.config.path}" outputproperty="cordova.platforms.list">\r | |
110 | cordova ${cordova.cli.options} platform list\r | |
111 | </x-shell>\r | |
112 | \r | |
113 | <script language="javascript">\r | |
114 | var target_platforms = project.getProperty("cordova.platforms.clean").split(" ");\r | |
115 | var existing_platforms = project.getProperty("cordova.platforms.list");\r | |
116 | var available = existing_platforms.indexOf("Available");\r | |
117 | \r | |
118 | if (available >= 0) {\r | |
119 | existing_platforms = existing_platforms.substring(0, available);\r | |
120 | }\r | |
121 | \r | |
122 | var missing_platforms = [], platformIndex, platform;\r | |
123 | for (platformIndex in target_platforms) {\r | |
124 | platform = target_platforms[platformIndex];\r | |
125 | if(existing_platforms.indexOf(platform) === -1){\r | |
126 | missing_platforms.push(platform);\r | |
127 | }\r | |
128 | }\r | |
129 | \r | |
130 | if(missing_platforms.length > 0) {\r | |
131 | self.log("Cordova: Missing platforms " + missing_platforms.toString() + ". Attempting add.");\r | |
132 | project.setProperty("cordova.platforms.missing", missing_platforms.join(" "));\r | |
133 | } else if(existing_platforms.length() >0){\r | |
134 | self.log("Cordova: All requested platforms exist");\r | |
135 | } else {\r | |
136 | self.log("Cordova: No platforms exist");\r | |
137 | }\r | |
138 | </script>\r | |
139 | \r | |
140 | <if>\r | |
141 | <isset property="cordova.platforms.missing"/>\r | |
142 | <then>\r | |
143 | <cordova-echo message="Cordova is adding platforms "${cordova.platforms.missing}""/>\r | |
144 | <x-shell reloadprofile="true" dir="${app.cordova.config.path}">\r | |
145 | cordova ${cordova.cli.options} platform add ${cordova.platforms.missing}\r | |
146 | </x-shell>\r | |
147 | </then>\r | |
148 | </if>\r | |
149 | </target>\r | |
150 | <target name="-after-cordova-platform-add"/>\r | |
151 | <target name="cordova-platform-add" depends="cordova-init, -before-cordova-platform-add, -cordova-platform-add, -after-cordova-platform-add"/>\r | |
152 | \r | |
153 | <target name="-before-cordova-init-native-package"/>\r | |
154 | <target name="-cordova-init-native-package" depends="cordova-create"/>\r | |
155 | <target name="-after-cordova-init-native-package"/>\r | |
156 | <target name="cordova-init-native-package" depends="cordova-init, -before-cordova-init-native-package, -cordova-init-native-package, -after-cordova-init-native-package"/>\r | |
157 | \r | |
158 | <target name="-before-cordova-native-package"/>\r | |
159 | <target name="-cordova-native-package" depends="cordova-platform-add, cordova-build, cordova-prepare, cordova-emulate, cordova-run"/>\r | |
160 | <target name="-after-cordova-native-package"/>\r | |
161 | <target name="cordova-native-package" depends="cordova-init, -before-cordova-native-package, -cordova-native-package, -after-cordova-native-package"/>\r | |
162 | \r | |
163 | \r | |
164 | <macrodef name="cordova-echo">\r | |
165 | <text name="text" optional="true"/>\r | |
166 | <attribute name="message" default=""/>\r | |
167 | <attribute name="level" default="info"/>\r | |
168 | <sequential>\r | |
169 | <if>\r | |
170 | <equals arg1="@{message}" arg2=""/>\r | |
171 | <then>\r | |
172 | <x-echo message="[Cordova] @{text}" level="@{level}"/>\r | |
173 | </then>\r | |
174 | <else>\r | |
175 | <x-echo message="[Cordova] @{message}" level="@{level}"/>\r | |
176 | </else>\r | |
177 | </if>\r | |
178 | </sequential>\r | |
179 | </macrodef>\r | |
180 | </project> |