| <project name="Create & Update a Cordova BlackBerry WebWorks Project" default="help"> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <!-- LOAD VERSION --> |
| |
| <loadfile property="version" srcFile="VERSION"> |
| <filterchain> |
| <striplinebreaks/> |
| </filterchain> |
| </loadfile> |
| |
| <!-- LOAD PROPERTIES --> |
| |
| <property name="template.project.dir" location="bin/templates/project" /> |
| <property name="template.dist.dir" location="bin/templates/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="C:\dev\my_project"" /> |
| |
| <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="C:\dev\my_project"" /> |
| |
| <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: |
| |
| - <script type="text/javascript" src="${js.basename}"></script> |
| </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<argument>=<value>]... |
| |
| 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 <git pull origin master>. |
| |
| 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> |