This is a sample build script for preparing zip files for PhoneGap Build.
See explanatory blog post here: http://fusiongrokker.com/post/automating-phonegap-build-with-apache-ant
This is a sample build script for preparing zip files for PhoneGap Build.
See explanatory blog post here: http://fusiongrokker.com/post/automating-phonegap-build-with-apache-ant
<project name="your_app" default="package" basedir="."> | |
<target name="package" depends="prepare"> | |
<tstamp> | |
<format property="build.tstamp" pattern="yyyy-MM-dd__HH-mm-ss" /> | |
</tstamp> | |
<zip destfile="${dir.pkg.bin}BUILD${version.build.number}__PhoneGap${phonegap.version}__${build.tstamp}.zip"> | |
<zipfileset dir="${dir.pkg.tmp}" /> | |
</zip> | |
<delete includeemptydirs="true" verbose="false"> | |
<fileset dir="${dir.pkg.tmp}" includes="**/*" /> | |
</delete> | |
</target> | |
<target name="prepare" depends="compile-templates"> | |
<property file="build.properties"/> | |
<property file="local.properties" /> | |
<property file="secrets.properties" /> | |
<!-- fill in your tokens as necessary --> | |
<filter token="API_BASE" value="${api.baseurl}" /> | |
<delete includeemptydirs="true" verbose="false"> | |
<fileset dir="${dir.pkg.tmp}" includes="**/*" /> | |
</delete> | |
<copy todir="${dir.pkg.tmp}" verbose="false" overwrite="true" filtering="true"> | |
<fileset dir="${dir.src}" includes="**/*"> | |
<!-- exclude files you don't want in your final zip --> | |
<exclude name="build_temp/**" /> | |
<exclude name="builds/**" /> | |
<exclude name=".git" /> | |
<exclude name=".gitignore" /> | |
<exclude name="**/*.psd" /> | |
<exclude name="build.xml" /> | |
<exclude name="*.properties" /> | |
<exclude name="assets/less/**" /> | |
<exclude name="assets/handlebars/**" /> | |
</fileset> | |
</copy> | |
</target> | |
<target name="compile-templates"> | |
<handlebars outfile="assets/js/templates.min.js"> | |
<args> | |
<arg value="--min" /> | |
<arg value="${dir.templates}" /> | |
</args> | |
</handlebars> | |
<echo message="handlebars template compilation complete" /> | |
</target> | |
<macrodef name="handlebars"> | |
<attribute name="dir" default="" /> | |
<attribute name="outfile" /> | |
<element name="args" optional="true" /> | |
<sequential> | |
<exec executable="handlebars" | |
dir="@{dir}" | |
output="@{outfile}" | |
logError="true" | |
failonerror="true"> | |
<args /> | |
</exec> | |
</sequential> | |
</macrodef> | |
</project> |