| 1 | <?xml version="1.0" encoding="UTF-8"?> |
|---|
| 2 | <!-- |
|---|
| 3 | Ant build file for the LogicMail application |
|---|
| 4 | --> |
|---|
| 5 | <project name="LogicMail" default="build" basedir="."> |
|---|
| 6 | <!-- Properties --> |
|---|
| 7 | <property name="src.dir" location="src"/> |
|---|
| 8 | <property name="dist.dir" location="dist"/> |
|---|
| 9 | <property name="dist.ota.dir" location="distota"/> |
|---|
| 10 | <property name="dist.alx.dir" location="distalx"/> |
|---|
| 11 | <property name="docs.dir" location="docs"/> |
|---|
| 12 | <property name="startup.src.dir" location="../LogicMailStartup/src"/> |
|---|
| 13 | <property file="project.properties"/> |
|---|
| 14 | |
|---|
| 15 | <!-- Task definitions --> |
|---|
| 16 | <typedef resource="bb-ant-defs.xml" classpath="../lib/bb-ant-tools.jar" /> |
|---|
| 17 | <taskdef resource="net/sf/antcontrib/antcontrib.properties"> |
|---|
| 18 | <classpath> |
|---|
| 19 | <pathelement location="../lib/ant-contrib-1.0b3.jar"/> |
|---|
| 20 | </classpath> |
|---|
| 21 | </taskdef> |
|---|
| 22 | <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"> |
|---|
| 23 | <classpath> |
|---|
| 24 | <pathelement location="../lib/xmltask.jar"/> |
|---|
| 25 | </classpath> |
|---|
| 26 | </taskdef> |
|---|
| 27 | |
|---|
| 28 | <macrodef name="build-platform"> |
|---|
| 29 | <attribute name="jdehome"/> |
|---|
| 30 | <attribute name="platform"/> |
|---|
| 31 | <attribute name="defines"/> |
|---|
| 32 | <sequential> |
|---|
| 33 | <mkdir dir="${dist.dir}/@{platform}"/> |
|---|
| 34 | <copy file="${src.dir}/icons/logicmail.png" todir="${dist.dir}/@{platform}"/> |
|---|
| 35 | <rapc output="${module.name}" |
|---|
| 36 | srcdir="${src.dir}" |
|---|
| 37 | destdir="${dist.dir}/@{platform}" |
|---|
| 38 | jdehome="@{jdehome}" |
|---|
| 39 | defines="@{preprocessor}"> |
|---|
| 40 | <jdp title="${module.title}" |
|---|
| 41 | vendor="${module.vendor}" |
|---|
| 42 | version="${module.version}" |
|---|
| 43 | type="cldc" |
|---|
| 44 | midletclass="org.logicprobe.LogicMail.LogicMail" |
|---|
| 45 | icon="logicmail.png"> |
|---|
| 46 | <entry arguments="autostart" |
|---|
| 47 | systemmodule="true" |
|---|
| 48 | runonstartup="true" |
|---|
| 49 | startuptier="7"/> |
|---|
| 50 | </jdp> |
|---|
| 51 | <src> |
|---|
| 52 | <fileset dir="${src.dir}"> |
|---|
| 53 | <include name="**/*.java"/> |
|---|
| 54 | <include name="**/*.rrc"/> |
|---|
| 55 | <include name="**/*.rrh"/> |
|---|
| 56 | <exclude name="**/bb40"/> |
|---|
| 57 | <exclude name="**/*BB40.java"/> |
|---|
| 58 | <include name="**/*.png"/> |
|---|
| 59 | </fileset> |
|---|
| 60 | <fileset dir="${startup.src.dir}"> |
|---|
| 61 | <include name="**/*.java"/> |
|---|
| 62 | </fileset> |
|---|
| 63 | </src> |
|---|
| 64 | </rapc> |
|---|
| 65 | <delete file="${dist.dir}/@{platform}/logicmail.png"/> |
|---|
| 66 | </sequential> |
|---|
| 67 | </macrodef> |
|---|
| 68 | |
|---|
| 69 | <!-- Build the application --> |
|---|
| 70 | <target name="build"> |
|---|
| 71 | <if><isset property="jde421.home"/><then> |
|---|
| 72 | <build-platform jdehome="${jde421.home}" platform="BB421" defines="BLACKBERRY_4_2_1" /> |
|---|
| 73 | </then></if> |
|---|
| 74 | <if><isset property="jde450.home"/><then> |
|---|
| 75 | <build-platform jdehome="${jde450.home}" platform="BB450" defines="BLACKBERRY_4_5_0" /> |
|---|
| 76 | </then></if> |
|---|
| 77 | </target> |
|---|
| 78 | |
|---|
| 79 | <!-- Build the code documentation --> |
|---|
| 80 | <target name="javadoc" depends="build"> |
|---|
| 81 | <javadoc destdir="${docs.dir}" |
|---|
| 82 | author="true" |
|---|
| 83 | version="true" |
|---|
| 84 | use="true" |
|---|
| 85 | windowtitle="${module.description}"> |
|---|
| 86 | <fileset dir="${src.dir}"> |
|---|
| 87 | <include name="**/*.java"/> |
|---|
| 88 | <exclude name="**/bb40"/> |
|---|
| 89 | <exclude name="**/*BB40.java"/> |
|---|
| 90 | </fileset> |
|---|
| 91 | <fileset dir="${startup.src.dir}"> |
|---|
| 92 | <include name="**/*.java"/> |
|---|
| 93 | </fileset> |
|---|
| 94 | <classpath> |
|---|
| 95 | <pathelement path="${jde421.home}/lib/net_rim_api.jar"/> |
|---|
| 96 | <pathelement path="${dist.dir}/BB421/${module.name}.jar"/> |
|---|
| 97 | </classpath> |
|---|
| 98 | </javadoc> |
|---|
| 99 | </target> |
|---|
| 100 | |
|---|
| 101 | <!-- Build the desktop loader distribution --> |
|---|
| 102 | <target name="dist-alx" depends="build"> |
|---|
| 103 | <mkdir dir="${dist.alx.dir}" /> |
|---|
| 104 | |
|---|
| 105 | <!-- Copy the files --> |
|---|
| 106 | <if><isset property="jde421.home"/><then> |
|---|
| 107 | <mkdir dir="${dist.alx.dir}/BB421" /> |
|---|
| 108 | <copy todir="${dist.alx.dir}/BB421"> |
|---|
| 109 | <fileset dir="${dist.dir}/BB421" includes="*.jar *.jad *.cod"/> |
|---|
| 110 | </copy> |
|---|
| 111 | </then></if> |
|---|
| 112 | <if><isset property="jde450.home"/><then> |
|---|
| 113 | <mkdir dir="${dist.alx.dir}/BB450" /> |
|---|
| 114 | <copy todir="${dist.alx.dir}/BB450"> |
|---|
| 115 | <fileset dir="${dist.dir}/BB450" includes="*.jar *.jad *.cod"/> |
|---|
| 116 | </copy> |
|---|
| 117 | </then></if> |
|---|
| 118 | <copy todir="${dist.alx.dir}"> |
|---|
| 119 | <fileset dir=".." includes="README.txt, LICENSE.txt, ChangeLog.txt"/> |
|---|
| 120 | </copy> |
|---|
| 121 | |
|---|
| 122 | <!-- Modify and copy the ALX file --> |
|---|
| 123 | <!-- TODO: Add version conditionals --> |
|---|
| 124 | <xmltask |
|---|
| 125 | source="LogicMail.alx" |
|---|
| 126 | dest="${dist.alx.dir}/${module.name}.alx"> |
|---|
| 127 | <replace path="loader/application/version/text()" withText="${module.version}"/> |
|---|
| 128 | <replace path="loader/application/fileset/files/text()" withText="${module.name}.cod"/> |
|---|
| 129 | </xmltask> |
|---|
| 130 | </target> |
|---|
| 131 | |
|---|
| 132 | <macrodef name="copy-ota-files"> |
|---|
| 133 | <attribute name="src"/> |
|---|
| 134 | <attribute name="dest"/> |
|---|
| 135 | <sequential> |
|---|
| 136 | <mkdir dir="@{dest}"/> |
|---|
| 137 | <delete failonerror="false"><fileset dir="@{dest}" includes="*.*"/></delete> |
|---|
| 138 | <copy todir="@{dest}"> |
|---|
| 139 | <fileset dir="@{src}" includes="*.jar, *.jad"/> |
|---|
| 140 | </copy> |
|---|
| 141 | <unzip src="@{src}/${module.name}.cod" dest="@{dest}"/> |
|---|
| 142 | </sequential> |
|---|
| 143 | </macrodef> |
|---|
| 144 | |
|---|
| 145 | <target name="dist-ota" depends="build"> |
|---|
| 146 | <mkdir dir="${dist.ota.dir}/${module.version}"/> |
|---|
| 147 | <xmltask dest="${dist.ota.dir}/download-entry.xml" outputter="simple:4"> |
|---|
| 148 | <insert path="/"> |
|---|
| 149 | <![CDATA[ |
|---|
| 150 | <downloads> |
|---|
| 151 | <entry> |
|---|
| 152 | </entry> |
|---|
| 153 | </downloads> |
|---|
| 154 | ]]> |
|---|
| 155 | </insert> |
|---|
| 156 | <attr path="/downloads/entry" attr="name" value="${module.title} ${module.version}"/> |
|---|
| 157 | <insert if="jde421.home" path="/downloads/entry"> |
|---|
| 158 | <![CDATA[ |
|---|
| 159 | <file name="${module.version}/BB421/${module.name}.jad" target="4.2.1"/> |
|---|
| 160 | ]]> |
|---|
| 161 | </insert> |
|---|
| 162 | <insert if="jde450.home" path="/downloads/entry"> |
|---|
| 163 | <![CDATA[ |
|---|
| 164 | <file name="${module.version}/BB450/${module.name}.jad" target="4.5.0"/> |
|---|
| 165 | ]]> |
|---|
| 166 | </insert> |
|---|
| 167 | </xmltask> |
|---|
| 168 | <if><isset property="jde421.home"/><then> |
|---|
| 169 | <copy-ota-files src="${dist.dir}/BB421" dest="${dist.ota.dir}/${module.version}/BB421"/> |
|---|
| 170 | </then></if> |
|---|
| 171 | <if><isset property="jde450.home"/><then> |
|---|
| 172 | <copy-ota-files src="${dist.dir}/BB450" dest="${dist.ota.dir}/${module.version}/BB450"/> |
|---|
| 173 | </then></if> |
|---|
| 174 | </target> |
|---|
| 175 | |
|---|
| 176 | <!-- Prepare the distribution --> |
|---|
| 177 | <target name="dist" depends="dist-alx,dist-ota"> |
|---|
| 178 | <zip destfile="../LogicMail-${module.version}.zip"> |
|---|
| 179 | <fileset dir="${dist.alx.dir}" /> |
|---|
| 180 | </zip> |
|---|
| 181 | <zip destfile="../LogicMail-ota-${module.version}.zip"> |
|---|
| 182 | <fileset dir="${dist.ota.dir}" /> |
|---|
| 183 | </zip> |
|---|
| 184 | </target> |
|---|
| 185 | |
|---|
| 186 | <!-- Clean up --> |
|---|
| 187 | <target name="clean"> |
|---|
| 188 | <delete dir="${dist.dir}"/> |
|---|
| 189 | <delete dir="${dist.alx.dir}"/> |
|---|
| 190 | <delete dir="${dist.ota.dir}"/> |
|---|
| 191 | <delete dir="${docs.dir}"/> |
|---|
| 192 | </target> |
|---|
| 193 | </project> |
|---|