Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

323 lines (234 sloc) 9.567 kB
<project name="Create &amp; Update a PhoneGap BlackBerry WebWorks Project or Plugin" 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.plugin.dir" location="template/plugin" />
<property name="template.dist.dir" location="template/dist" />
<property name="build.dir" location="build" />
<property name="update.dir" value="lib/phonegap.${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="phonegap.${version}.jar" />
<property name="jar.file" value="${jar.path}/${jar.basename}" />
<property name="js.src" location="javascript" />
<property name="js.path" value="javascript" />
<property name="js.basename" value="phonegap.${version}.js" />
<property name="js.file" value="${js.path}/${js.basename}" />
<!-- BUILD JAVASCRIPT -->
<target name="build-javascript">
<mkdir dir="${build.dir}/${js.path}" />
<concat destfile="${build.dir}/${js.file}" append="false">
<fileset dir="${js.src}">
<include name="*.js" />
</fileset>
</concat>
</target>
<!-- BUILD WIDGET EXTENSION -->
<target name="build-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>
<!-- CREATE A PROJECT -->
<target name="create" depends="clean, build-javascript, build-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 phonegap.x.x.x.js -->
<replaceregexp match="phonegap\.js" replace="${js.basename}" byline="true">
<fileset file="${project.path}/www/index.html" />
<fileset file="${project.path}/build.xml" />
</replaceregexp>
<!-- copy phonegap.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>
<!-- 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 phonegap.jar -->
<copy todir="${dist.www.path}/ext">
<fileset dir="${build.dir}/${jar.path}" />
</copy>
<!-- copy phonegap.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-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!
================
PhoneGap ${version} has been created.
Update does not alter your project files.
See below for instructions to install PhoneGap ${version}.
Where:
------
${project.path}/${update.dir}
Install:
--------
1. Install the Java Extension:
- delete /www/${jar.path}/phonegap.jar
- copy /${update.dir}/${jar.file}
to /www/${jar.file}
2. Install the JavaScript library:
- delete /www/phonegap.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>
<!-- CREATE A PLUGIN -->
<target name="create-plugin" depends="">
<!-- validate arguments -->
<fail unless="plugin.path" message="You must give a plugin PATH. Use the argument -Dplugin.path=&#34;C:\dev\my_plugin&#34;" />
<!-- destination must be empty -->
<available file="${plugin.path}" property="plugin.exists" />
<fail if="plugin.exists" message="The plugin path must be an empty directory." />
<!-- copy plugin directory -->
<mkdir dir="${plugin.path}" />
<copy todir="${plugin.path}">
<fileset dir="${template.plugin.dir}" />
</copy>
<echo>
Plugin Creation Complete!
=========================
Getting Started:
----------------
cd ${plugin.path}
ant help
</echo>
</target>
<!-- UPDATE A PLUGIN -->
<target name="update-plugin" depends="">
<fail unless="plugin.path" message="You must give a plugin PATH. Use the argument -Dplugin.path=&#34;C:\dev\my_plugin&#34;" />
<available file="${plugin.path}" property="plugin.exists" />
<fail unless="plugin.exists" message="The plugin path cannot be empty." />
<!-- build.xml -->
<copy todir="${plugin.path}" file="${template.plugin.dir}/build.xml" />
<echo message="Updated build.xml" />
</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 PhoneGap-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 PhoneGap distribution build
ant dist
version ......... Update PhoneGap version
ant version VERSION
ant version -Dvalue="1.0.0"
create-plugin ... Create a new plugin
ant create-plugin PATH
ant create-plugin -Dplugin.path="C:\dev\my_plugin"
update-plugin ... Update a plugin's ANT script
ant update-plugin PATH
ant update-plugin -Dplugin.path="C:\dev\my_plugin"
</echo>
</target>
</project>
Jump to Line
Something went wrong with that request. Please try again.