icloudtweetdeckhipchattelegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinboxwhatsapp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
8.2 KiB
180 lines
8.2 KiB
9 years ago
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<project name="Cordova" default="cordova-help">
|
||
|
<!--Legacy properties file support-->
|
||
|
<property file="${app.dir}/cordova.local.properties"/>
|
||
|
|
||
|
<!--Init for All Cordova Task-->
|
||
|
<target name="-before-cordova-init"/>
|
||
|
<target name="-cordova-init">
|
||
|
<if>
|
||
|
<x-is-true value="app.cordova.config.verbose"/>
|
||
|
<then>
|
||
|
<property name="cordova.cli.options" value="-d"/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<property name="cordova.cli.options" value=""/>
|
||
|
</else>
|
||
|
</if>
|
||
|
</target>
|
||
|
<target name="-after-cordova-init"/>
|
||
|
<target name="cordova-init"
|
||
|
depends="-init, -before-cordova-init, -cordova-init, -after-cordova-init"/>
|
||
|
|
||
|
<target name="cordova-help"/>
|
||
|
|
||
|
<!-- Create Cordova Application-->
|
||
|
<target name="cordova-create" depends="cordova-init">
|
||
|
<if>
|
||
|
<not>
|
||
|
<available file="${app.cordova.config.path}" type="dir"/>
|
||
|
</not>
|
||
|
<then>
|
||
|
<cordova-echo message="Creating Cordova Application with ID "${app.cordova.config.id}" and Name "${app.cordova.config.name}""/>
|
||
|
<x-shell reloadprofile="true" dir="${app.dir}">
|
||
|
cordova ${cordova.cli.options} create "${app.cordova.config.path}" ${app.cordova.config.id} "${app.cordova.config.name}"
|
||
|
</x-shell>
|
||
|
</then>
|
||
|
</if>
|
||
|
</target>
|
||
|
|
||
|
<!-- Prepares application for all platforms -->
|
||
|
<target name="-before-cordova-prepare"/>
|
||
|
<target name="-cordova-prepare" if="args.prepare">
|
||
|
<cordova-echo message="Attempting Cordova Prepare for platforms "${cordova.platforms.clean}""/>
|
||
|
<x-shell reloadprofile="true" dir="${app.cordova.config.path}">
|
||
|
cordova ${cordova.cli.options} prepare ${cordova.platforms.clean}
|
||
|
</x-shell>
|
||
|
</target>
|
||
|
<target name="-after-cordova-prepare"/>
|
||
|
<target name="cordova-prepare" depends="cordova-init, -before-cordova-prepare, -cordova-prepare, -after-cordova-prepare"/>
|
||
|
|
||
|
<!-- Emulates application on all platforms -->
|
||
|
<target name="-before-cordova-emulate"/>
|
||
|
<target name="-cordova-emulate" if="args.emulate" depends="cordova-platform-add">
|
||
|
<cordova-echo message="Attempting Cordova Emulate for platforms "${cordova.platforms.clean}""/>
|
||
|
<x-shell reloadprofile="true" dir="${app.cordova.config.path}">
|
||
|
cordova ${cordova.cli.options} emulate ${cordova.platforms.clean} --target=${app.cordova.config.target}
|
||
|
</x-shell>
|
||
|
</target>
|
||
|
<target name="-after-cordova-emulate"/>
|
||
|
<target name="cordova-emulate" depends="cordova-init, -before-cordova-emulate, -cordova-emulate, -after-cordova-emulate"/>
|
||
|
|
||
|
<!-- Runs application on device for all platforms -->
|
||
|
<target name="-before-cordova-run"/>
|
||
|
<target name="-cordova-run" if="args.autorun" depends="cordova-platform-add">
|
||
|
<cordova-echo message="Attempting Cordova Run for platforms "${cordova.platforms.clean}""/>
|
||
|
<x-shell reloadprofile="true" dir="${app.cordova.config.path}">
|
||
|
cordova ${cordova.cli.options} run ${cordova.platforms.clean} --target=${app.cordova.config.target}
|
||
|
</x-shell>
|
||
|
</target>
|
||
|
<target name="-after-cordova-run"/>
|
||
|
<target name="cordova-run" depends="cordova-init, -before-cordova-run, -cordova-run, -after-cordova-run"/>
|
||
|
|
||
|
<!-- Builds application for all platforms -->
|
||
|
<target name="-before-cordova-build"/>
|
||
|
<target name="-cordova-build" depends="cordova-platform-add">
|
||
|
<cordova-echo message="Attempting Cordova Build for platforms "${cordova.platforms.clean}""/>
|
||
|
<x-shell reloadprofile="true" dir="${app.cordova.config.path}">
|
||
|
cordova ${cordova.cli.options} build ${cordova.platforms.clean}
|
||
|
</x-shell>
|
||
|
</target>
|
||
|
<target name="-after-cordova-build"/>
|
||
|
<target name="cordova-build" depends="cordova-init, -before-cordova-build, -cordova-build, -after-cordova-build"/>
|
||
|
|
||
|
<!-- Adds all missing Platforms from properties file to the project-->
|
||
|
<target name="-before-cordova-platform-add"/>
|
||
|
<target name="-cordova-platform-add">
|
||
|
<fail status="0" message="No platforms were specified, add a platform to ${build.name}'s -> cordova -> config -> platforms property in app.json">
|
||
|
<condition>
|
||
|
<or>
|
||
|
<not>
|
||
|
<isset property="cordova.platforms"/>
|
||
|
</not>
|
||
|
<contains string="${cordova.platforms}" substring="$"/>
|
||
|
</or>
|
||
|
</condition>
|
||
|
</fail>
|
||
|
|
||
|
|
||
|
<script language="javascript">
|
||
|
var platforms = project.getProperty("cordova.platforms");
|
||
|
|
||
|
if (!platforms) {
|
||
|
platforms = ""
|
||
|
}
|
||
|
platforms = platforms.replace("/,/g", " ");
|
||
|
project.setProperty("cordova.platforms.clean", platforms);
|
||
|
</script>
|
||
|
|
||
|
<x-shell reloadprofile="true" dir="${app.cordova.config.path}" outputproperty="cordova.platforms.list">
|
||
|
cordova ${cordova.cli.options} platform list
|
||
|
</x-shell>
|
||
|
|
||
|
<script language="javascript">
|
||
|
var target_platforms = project.getProperty("cordova.platforms.clean").split(" ");
|
||
|
var existing_platforms = project.getProperty("cordova.platforms.list");
|
||
|
var available = existing_platforms.indexOf("Available");
|
||
|
|
||
|
if (available >= 0) {
|
||
|
existing_platforms = existing_platforms.substring(0, available);
|
||
|
}
|
||
|
|
||
|
var missing_platforms = [], platformIndex, platform;
|
||
|
for (platformIndex in target_platforms) {
|
||
|
platform = target_platforms[platformIndex];
|
||
|
if(existing_platforms.indexOf(platform) === -1){
|
||
|
missing_platforms.push(platform);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if(missing_platforms.length > 0) {
|
||
|
self.log("Cordova: Missing platforms " + missing_platforms.toString() + ". Attempting add.");
|
||
|
project.setProperty("cordova.platforms.missing", missing_platforms.join(" "));
|
||
|
} else if(existing_platforms.length() >0){
|
||
|
self.log("Cordova: All requested platforms exist");
|
||
|
} else {
|
||
|
self.log("Cordova: No platforms exist");
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<if>
|
||
|
<isset property="cordova.platforms.missing"/>
|
||
|
<then>
|
||
|
<cordova-echo message="Cordova is adding platforms "${cordova.platforms.missing}""/>
|
||
|
<x-shell reloadprofile="true" dir="${app.cordova.config.path}">
|
||
|
cordova ${cordova.cli.options} platform add ${cordova.platforms.missing}
|
||
|
</x-shell>
|
||
|
</then>
|
||
|
</if>
|
||
|
</target>
|
||
|
<target name="-after-cordova-platform-add"/>
|
||
|
<target name="cordova-platform-add" depends="cordova-init, -before-cordova-platform-add, -cordova-platform-add, -after-cordova-platform-add"/>
|
||
|
|
||
|
<target name="-before-cordova-init-native-package"/>
|
||
|
<target name="-cordova-init-native-package" depends="cordova-create"/>
|
||
|
<target name="-after-cordova-init-native-package"/>
|
||
|
<target name="cordova-init-native-package" depends="cordova-init, -before-cordova-init-native-package, -cordova-init-native-package, -after-cordova-init-native-package"/>
|
||
|
|
||
|
<target name="-before-cordova-native-package"/>
|
||
|
<target name="-cordova-native-package" depends="cordova-platform-add, cordova-build, cordova-prepare, cordova-emulate, cordova-run"/>
|
||
|
<target name="-after-cordova-native-package"/>
|
||
|
<target name="cordova-native-package" depends="cordova-init, -before-cordova-native-package, -cordova-native-package, -after-cordova-native-package"/>
|
||
|
|
||
|
|
||
|
<macrodef name="cordova-echo">
|
||
|
<text name="text" optional="true"/>
|
||
|
<attribute name="message" default=""/>
|
||
|
<attribute name="level" default="info"/>
|
||
|
<sequential>
|
||
|
<if>
|
||
|
<equals arg1="@{message}" arg2=""/>
|
||
|
<then>
|
||
|
<x-echo message="[Cordova] @{text}" level="@{level}"/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<x-echo message="[Cordova] @{message}" level="@{level}"/>
|
||
|
</else>
|
||
|
</if>
|
||
|
</sequential>
|
||
|
</macrodef>
|
||
|
</project>
|