1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <project name=
"Cordova" default=
"cordova-help">
3 <!--Legacy properties file support-->
4 <property file=
"${app.dir}/cordova.local.properties"/>
6 <!--Init for All Cordova Task-->
7 <target name=
"-before-cordova-init"/>
8 <target name=
"-cordova-init">
10 <x-is-true value=
"app.cordova.config.verbose"/>
12 <property name=
"cordova.cli.options" value=
"-d"/>
15 <property name=
"cordova.cli.options" value=
""/>
19 <target name=
"-after-cordova-init"/>
20 <target name=
"cordova-init"
21 depends=
"-init, -before-cordova-init, -cordova-init, -after-cordova-init"/>
23 <target name=
"cordova-help"/>
25 <!-- Create Cordova Application-->
26 <target name=
"cordova-create" depends=
"cordova-init">
29 <available file=
"${app.cordova.config.path}" type=
"dir"/>
32 <cordova-echo message=
"Creating Cordova Application with ID "${app.cordova.config.id}" and Name "${app.cordova.config.name}""/>
33 <x-shell reloadprofile=
"true" dir=
"${app.dir}">
34 cordova ${cordova.cli.options} create
"${app.cordova.config.path}" ${app.cordova.config.id}
"${app.cordova.config.name}"
40 <!-- Prepares application for all platforms -->
41 <target name=
"-before-cordova-prepare"/>
42 <target name=
"-cordova-prepare" if=
"args.prepare">
43 <cordova-echo message=
"Attempting Cordova Prepare for platforms "${cordova.platforms.clean}""/>
44 <x-shell reloadprofile=
"true" dir=
"${app.cordova.config.path}">
45 cordova ${cordova.cli.options} prepare ${cordova.platforms.clean}
48 <target name=
"-after-cordova-prepare"/>
49 <target name=
"cordova-prepare" depends=
"cordova-init, -before-cordova-prepare, -cordova-prepare, -after-cordova-prepare"/>
51 <!-- Emulates application on all platforms -->
52 <target name=
"-before-cordova-emulate"/>
53 <target name=
"-cordova-emulate" if=
"args.emulate" depends=
"cordova-platform-add">
54 <cordova-echo message=
"Attempting Cordova Emulate for platforms "${cordova.platforms.clean}""/>
55 <x-shell reloadprofile=
"true" dir=
"${app.cordova.config.path}">
56 cordova ${cordova.cli.options} emulate ${cordova.platforms.clean} --target=${app.cordova.config.target}
59 <target name=
"-after-cordova-emulate"/>
60 <target name=
"cordova-emulate" depends=
"cordova-init, -before-cordova-emulate, -cordova-emulate, -after-cordova-emulate"/>
62 <!-- Runs application on device for all platforms -->
63 <target name=
"-before-cordova-run"/>
64 <target name=
"-cordova-run" if=
"args.autorun" depends=
"cordova-platform-add">
65 <cordova-echo message=
"Attempting Cordova Run for platforms "${cordova.platforms.clean}""/>
66 <x-shell reloadprofile=
"true" dir=
"${app.cordova.config.path}">
67 cordova ${cordova.cli.options} run ${cordova.platforms.clean} --target=${app.cordova.config.target}
70 <target name=
"-after-cordova-run"/>
71 <target name=
"cordova-run" depends=
"cordova-init, -before-cordova-run, -cordova-run, -after-cordova-run"/>
73 <!-- Builds application for all platforms -->
74 <target name=
"-before-cordova-build"/>
75 <target name=
"-cordova-build" depends=
"cordova-platform-add">
76 <cordova-echo message=
"Attempting Cordova Build for platforms "${cordova.platforms.clean}""/>
77 <x-shell reloadprofile=
"true" dir=
"${app.cordova.config.path}">
78 cordova ${cordova.cli.options} build ${cordova.platforms.clean}
81 <target name=
"-after-cordova-build"/>
82 <target name=
"cordova-build" depends=
"cordova-init, -before-cordova-build, -cordova-build, -after-cordova-build"/>
84 <!-- Adds all missing Platforms from properties file to the project-->
85 <target name=
"-before-cordova-platform-add"/>
86 <target name=
"-cordova-platform-add">
87 <fail status=
"0" message=
"No platforms were specified, add a platform to ${build.name}'s -> cordova -> config -> platforms property in app.json">
91 <isset property=
"cordova.platforms"/>
93 <contains string=
"${cordova.platforms}" substring=
"$"/>
99 <script language=
"javascript">
100 var platforms = project.getProperty(
"cordova.platforms");
105 platforms = platforms.replace(
"/,/g",
" ");
106 project.setProperty(
"cordova.platforms.clean", platforms);
109 <x-shell reloadprofile=
"true" dir=
"${app.cordova.config.path}" outputproperty=
"cordova.platforms.list">
110 cordova ${cordova.cli.options} platform list
113 <script language=
"javascript">
114 var target_platforms = project.getProperty(
"cordova.platforms.clean").split(
" ");
115 var existing_platforms = project.getProperty(
"cordova.platforms.list");
116 var available = existing_platforms.indexOf(
"Available");
118 if (available
>=
0) {
119 existing_platforms = existing_platforms.substring(
0, available);
122 var missing_platforms = [], platformIndex, platform;
123 for (platformIndex in target_platforms) {
124 platform = target_platforms[platformIndex];
125 if(existing_platforms.indexOf(platform) === -
1){
126 missing_platforms.push(platform);
130 if(missing_platforms.length
> 0) {
131 self.log(
"Cordova: Missing platforms " + missing_platforms.toString() +
". Attempting add.");
132 project.setProperty(
"cordova.platforms.missing", missing_platforms.join(
" "));
133 } else if(existing_platforms.length()
>0){
134 self.log(
"Cordova: All requested platforms exist");
136 self.log(
"Cordova: No platforms exist");
141 <isset property=
"cordova.platforms.missing"/>
143 <cordova-echo message=
"Cordova is adding platforms "${cordova.platforms.missing}""/>
144 <x-shell reloadprofile=
"true" dir=
"${app.cordova.config.path}">
145 cordova ${cordova.cli.options} platform add ${cordova.platforms.missing}
150 <target name=
"-after-cordova-platform-add"/>
151 <target name=
"cordova-platform-add" depends=
"cordova-init, -before-cordova-platform-add, -cordova-platform-add, -after-cordova-platform-add"/>
153 <target name=
"-before-cordova-init-native-package"/>
154 <target name=
"-cordova-init-native-package" depends=
"cordova-create"/>
155 <target name=
"-after-cordova-init-native-package"/>
156 <target name=
"cordova-init-native-package" depends=
"cordova-init, -before-cordova-init-native-package, -cordova-init-native-package, -after-cordova-init-native-package"/>
158 <target name=
"-before-cordova-native-package"/>
159 <target name=
"-cordova-native-package" depends=
"cordova-platform-add, cordova-build, cordova-prepare, cordova-emulate, cordova-run"/>
160 <target name=
"-after-cordova-native-package"/>
161 <target name=
"cordova-native-package" depends=
"cordova-init, -before-cordova-native-package, -cordova-native-package, -after-cordova-native-package"/>
164 <macrodef name=
"cordova-echo">
165 <text name=
"text" optional=
"true"/>
166 <attribute name=
"message" default=
""/>
167 <attribute name=
"level" default=
"info"/>
170 <equals arg1=
"@{message}" arg2=
""/>
172 <x-echo message=
"[Cordova] @{text}" level=
"@{level}"/>
175 <x-echo message=
"[Cordova] @{message}" level=
"@{level}"/>