blob: f8115fa9a42f17cbf9d167dc853fb7ce176f31e1 [file] [log] [blame]
<project name="Create &amp; Update a Cordova BlackBerry WebWorks Project" default="help">
<!-- LOAD VERSION -->
<loadfile property="version" srcFile="VERSION">
<filterchain>
<striplinebreaks/>
</filterchain>
</loadfile>
<!-- LOAD PROPERTIES -->
<property name="template.project.dir" location="template/project" />
<property name="template.dist.dir" location="template/dist" />
<property name="build.dir" location="build" />
<property name="update.dir" value="lib/cordova.${version}" />
<property name="dist.path" location="dist" />
<property name="dist.www.path" location="${dist.path}/www" />
<property name="dist.project.path" location="${dist.path}/sample" />
<property name="jar.src" location="framework/ext/src" />
<property name="jar.path" value="ext" />
<property name="jar.basename" value="cordova.${version}.jar" />
<property name="jar.file" value="${jar.path}/${jar.basename}" />
<property name="playbook.js.path" value="javascript/playbook" />
<property name="playbook.ext.src" location="framework/ext-air" />
<property name="playbook.ext.path" value="ext-air" />
<property name="js.src" location="javascript" />
<property name="js.path" value="javascript" />
<property name="js.basename" value="cordova-${version}.js" />
<property name="js.file" value="${js.path}/${js.basename}" />
<!-- BUILD JAVASCRIPT -->
<target name="build-javascript">
<!-- BB Javascript -->
<mkdir dir="${build.dir}/${js.path}" />
<copy file="${js.src}/cordova.blackberry.js" tofile="${build.dir}/${js.file}" />
<!-- PB Javascript -->
<mkdir dir="${build.dir}/${playbook.js.path}" />
<copy file="${js.src}/cordova.playbook.js" tofile="${build.dir}/${playbook.js.path}/${js.basename}" />
</target>
<!-- BUILD BLACKBERRY EXTENSION -->
<target name="build-bb-extension">
<mkdir dir="${build.dir}/${jar.path}" />
<zip destfile="${build.dir}/${jar.file}">
<fileset dir="${jar.src}" includes="library.xml" />
<fileset dir="${jar.src}" includes="**/*.java" />
</zip>
</target>
<!-- BUILD PLAYBOOK EXTENSION -->
<target name="build-pb-extension">
<!-- Copy Ext -->
<mkdir dir="${build.dir}/${playbook.ext.path}" />
<copy todir="${build.dir}/${playbook.ext.path}">
<fileset dir="${playbook.ext.src}" />
</copy>
</target>
<!-- CREATE A PROJECT -->
<target name="create" depends="clean, build-javascript, build-bb-extension, build-pb-extension">
<fail unless="project.path" message="You must give a project PATH. Use the argument -Dproject.path=&#34;C:\dev\my_project&#34;" />
<available file="${project.path}" property="project.exists" />
<fail if="project.exists" message="The project path must be an empty directory." />
<!-- create project using template directory -->
<mkdir dir="${project.path}" />
<copy todir="${project.path}">
<fileset dir="${template.project.dir}" />
</copy>
<!-- update project files to reference cordova.x.x.x.js -->
<replaceregexp match="cordova\.js" replace="${js.basename}" byline="true">
<fileset file="${project.path}/www/index.html" />
<fileset file="${project.path}/build.xml" />
</replaceregexp>
<!-- copy cordova.js -->
<copy todir="${project.path}/www">
<fileset dir="${build.dir}/${js.path}" />
</copy>
<!-- copy ext/ -->
<copy todir="${project.path}/www/ext">
<fileset dir="${build.dir}/${jar.path}" />
</copy>
<!-- copy ext-air/ -->
<copy todir="${project.path}/www/ext-air">
<fileset dir="${build.dir}/${playbook.ext.path}" />
</copy>
<!-- save release -->
<mkdir dir="${project.path}/${update.dir}" />
<copy todir="${project.path}/${update.dir}">
<fileset dir="${build.dir}" />
</copy>
<echo>
Project Creation Complete!
==========================
Getting Started:
----------------
cd ${project.path}
ant help
</echo>
</target>
<!-- DISTRIBUTION -->
<target name="dist" depends="">
<!-- create a sample project -->
<antcall target="create">
<param name="project.path" value="${dist.project.path}" />
</antcall>
<!-- copy dist template (README.md) -->
<copy todir="${dist.path}">
<fileset dir="${template.dist.dir}" />
</copy>
<!-- copy cordova.jar -->
<copy todir="${dist.www.path}/ext">
<fileset dir="${build.dir}/${jar.path}" />
</copy>
<!-- copy ext-air/ -->
<copy todir="${dist.www.path}/ext-air">
<fileset dir="${build.dir}/${playbook.ext.path}" />
</copy>
<!-- copy cordova.js -->
<copy todir="${dist.www.path}">
<fileset dir="${build.dir}/${js.path}" />
</copy>
<!-- copy config.xml -->
<copy todir="${dist.www.path}">
<fileset file="${template.project.dir}/www/config.xml" />
</copy>
<!-- copy plugins.xml -->
<copy todir="${dist.www.path}">
<fileset file="${template.project.dir}/www/plugins.xml" />
</copy>
<echo>
Distribution Complete!
======================
Version:
--------
${version}
Path:
-----
${dist.path}
</echo>
</target>
<target name="version">
<replace dir="." token="${version}" value="${value}" />
<echo>
Version Update Complete!
========================
Version:
--------
Previous: ${version}
Current: ${value}
Remember to:
------------
Review and commit the version update.
$ git diff
$ git commit -am "Update to version ${value}"
$ git tag ${value}
</echo>
</target>
<!-- UPDATE A PROJECT -->
<target name="update" depends="clean, build-javascript, build-bb-extension, build-pb-extension">
<fail unless="project.path" message="You must give a project PATH. Use the argument -Dproject.path=&#34;C:\dev\my_project&#34;" />
<available file="${project.path}" property="project.exists" />
<fail unless="project.exists" message="The project path cannot be empty." />
<!-- save release -->
<mkdir dir="${project.path}/${update.dir}" />
<copy todir="${project.path}/${update.dir}">
<fileset dir="${build.dir}" />
</copy>
<echo>
Update complete!
================
Cordova ${version} has been created.
Update does not alter your project files.
See below for instructions to install Cordova ${version}.
Where:
------
${project.path}/${update.dir}
Install:
--------
1. Install the Java Extension:
- delete /www/${jar.path}/cordova.jar
- copy /${update.dir}/${jar.file}
to /www/${jar.file}
2. Install the JavaScript library:
- delete /www/cordova.js
- copy /${update.dir}/${js.file}
to /www/${js.basename}
3. Update JavaScript references:
- &#60;script type=&#34;text/javascript&#34; src=&#34;${js.basename}&#34;&#62;&#60;/script&#62;
</echo>
</target>
<!-- CLEAN -->
<target name="clean">
<delete dir="${build.dir}" />
<delete dir="${dist.path}" />
</target>
<!-- HELP -->
<target name="help">
<echo>
NAME
${ant.project.name}
SYNOPSIS
ant COMMAND [-D&lt;argument&gt;=&lt;value&gt;]...
DESCRIPTION
This tool allows you to create and update Cordova-BlackBerry-WebWorks projects.
You will want to run update after you have updated the framework source.
In other words, when you &lt;git pull origin master&gt;.
COMMANDS
help ............ Show this help menu.
ant, ant help
create .......... Create a new project
ant create PATH
ant create -Dproject.path="C:\dev\my_project"
update .......... Update an existing project
ant update PATH
ant update -Dproject.path="C:\dev\my_project"
dist ............ Create a Cordova distribution build
ant dist
version ......... Update Cordova version
ant version VERSION
ant version -Dvalue="1.0.0"
</echo>
</target>
</project>