hangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinboxwhatsappicloudtweetdeckhipchattelegram
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
<?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> |