build-impl.xml 80 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- *** GENERATED FROM project.xml - DO NOT EDIT *** -->
  3. <project name="Go_Dutch-impl" default="jar" basedir="..">
  4. <!--load-properties-->
  5. <target name="pre-load-properties">
  6. <property file="nbproject/private/private.properties"/>
  7. <property name="user.properties.file" location="${netbeans.user}/build.properties"/>
  8. <available property="user.properties.file.exists" file="${user.properties.file}"/>
  9. </target>
  10. <target name="exists.config.active" unless="config.active">
  11. <echo level="warning" message="Active configuration (config.active property) is not set - using default."/>
  12. <property value="" name="config.active"/>
  13. </target>
  14. <target name="exists.netbeans.user" unless="netbeans.user">
  15. <echo level="warning" message="NetBeans IDE user directory (netbeans.user property) is not set. By specifying this property many properties required by the project will be automatically evaluated (e.g.: ant-ext library home, ...). You could also open this project in the NetBeans IDE - in this case this property would be set automatically."/>
  16. </target>
  17. <target name="exists.user.properties.file" unless="user.properties.file.exists">
  18. <echo level="warning" message="User properties file (user.properties.file) property is not set. By specifying this property many properties required by the project will be automatically evaluated (e.g.: libraries, platforms, ...)."/>
  19. </target>
  20. <target name="load-properties" depends="pre-load-properties,exists.config.active,exists.netbeans.user,exists.user.properties.file">
  21. <loadproperties srcfile="nbproject/project.properties">
  22. <filterchain>
  23. <containsregex pattern="^configs\.${config.active}\.(.*)" replace="\1"/>
  24. <concatfilter prepend="nbproject/project.properties"/>
  25. <containsregex pattern="^platform.active=|^deployment.method=|^deployment.instance="/>
  26. </filterchain>
  27. </loadproperties>
  28. <property name="deployment.instance" value="default"/>
  29. <loadproperties srcfile="${user.properties.file}">
  30. <filterchain>
  31. <replaceregex pattern="^platforms\.${platform.active}\." replace="platform."/>
  32. <replaceregex pattern="^deployment\.${deployment.method}\.scriptfile=" replace="deployment.scriptfile="/>
  33. <replaceregex pattern="^deployments\.${deployment.method}\.${deployment.instance}\.([^=]+)=" replace="\1="/>
  34. </filterchain>
  35. </loadproperties>
  36. <loadproperties srcfile="nbproject/project.properties">
  37. <filterchain>
  38. <containsregex pattern="^configs\.${config.active}\.(.*)" replace="\1"/>
  39. <concatfilter prepend="nbproject/project.properties"/>
  40. </filterchain>
  41. </loadproperties>
  42. </target>
  43. <!--basic-init-->
  44. <target name="exists.platform.active" unless="platform.active">
  45. <echo level="warning" message="Active platform (platform.active property) in not set. If you set this and user.properties.file property, many properties required by the project will be automatically evaluated (e.g.: platform home, platform classpath, ...)."/>
  46. </target>
  47. <target name="exists.platform.configuration" unless="platform.configuration">
  48. <echo level="warning" message="Platform configuration (platform.configuration) is not set. Using default (CLDC-1.0) configuration."/>
  49. <property name="platform.configuration" value="CLDC-1.0"/>
  50. </target>
  51. <target name="exists.platform.profile" unless="platform.profile">
  52. <echo level="warning" message="Platform profile (platform.profile) is not set. Using default (MIDP-1.0) profile."/>
  53. <property name="platform.profile" value="MIDP-1.0"/>
  54. </target>
  55. <target name="basic-init" depends="exists.platform.active,exists.platform.configuration,exists.platform.profile">
  56. <fail unless="libs.j2me_ant_ext.classpath">Classpath to J2ME Ant extension library (libs.j2me_ant_ext.classpath property) is not set. For example: location of mobility/modules/org-netbeans-mobility-antext.jar file in the IDE installation directory.</fail>
  57. <fail unless="platform.home">Platform home (platform.home property) is not set. Value of this property should be ${platform.active.description} emulator home directory location.</fail>
  58. <fail unless="platform.bootclasspath">Platform boot classpath (platform.bootclasspath property) is not set. Value of this property should be ${platform.active.description} emulator boot classpath containing all J2ME classes provided by emulator.</fail>
  59. <fail unless="src.dir">Must set src.dir</fail>
  60. <fail unless="build.dir">Must set build.dir</fail>
  61. <fail unless="dist.dir">Must set dist.dir</fail>
  62. <fail unless="dist.jar">Must set dist.jar</fail>
  63. <property name="javac.source" value="1.3"/>
  64. <property name="javac.target" value="1.1"/>
  65. <property name="javac.encoding" value="${file.encoding}"/>
  66. <property name="deployment.number" value="0.0.1"/>
  67. <property name="deployment.counter" value="000002"/>
  68. <condition property="no.deps">
  69. <istrue value="${no.dependencies}"/>
  70. </condition>
  71. <condition property="no.preprocess">
  72. <isfalse value="${use.preprocessor}"/>
  73. </condition>
  74. <condition property="no.javadoc.preview">
  75. <isfalse value="${javadoc.preview}"/>
  76. </condition>
  77. <condition property="filter.excludes.evaluated" value="${filter.excludes},${filter.more.excludes},**/*Test.java,**/test,**/test/**">
  78. <istrue value="${filter.exclude.tests}"/>
  79. </condition>
  80. <property name="filter.excludes.evaluated" value="${filter.excludes},${filter.more.excludes}"/>
  81. <condition property="deployment.do.override.jarurl" value="">
  82. <istrue value="${deployment.override.jarurl}"/>
  83. </condition>
  84. <condition property="config.active.name" value="DefaultConfiguration">
  85. <length string="${config.active}" trim="true" length="0"/>
  86. </condition>
  87. <property name="config.active.name" value="${config.active}"/>
  88. <taskdef resource="org/netbeans/mobility/antext/defs.properties">
  89. <classpath>
  90. <pathelement path="${libs.j2me_ant_ext.classpath}"/>
  91. </classpath>
  92. </taskdef>
  93. <condition property="skip.deployment">
  94. <equals arg1="${deployment.method}" arg2="NONE" casesensitive="false" trim="true"/>
  95. </condition>
  96. <condition property="app-version.autoincrement.trigger">
  97. <istrue value="${app-version.autoincrement}"/>
  98. </condition>
  99. <condition property="debug.timeout" value="30000">
  100. <or>
  101. <equals arg1="${debugger.timeout}" arg2="" trim="true"/>
  102. <not>
  103. <isset property="debugger.timeout"/>
  104. </not>
  105. </or>
  106. </condition>
  107. <property name="debug.timeout" value="${debugger.timeout}"/>
  108. <nb-overrideproperty name="buildsystem.baton" value="${src.dir}"/>
  109. </target>
  110. <!--cldc-init-->
  111. <target name="cldc-pre-init">
  112. <condition property="cldc-platform.trigger">
  113. <equals arg1="CLDC" arg2="${platform.trigger}" casesensitive="false"/>
  114. </condition>
  115. </target>
  116. <target name="cldc-init" depends="cldc-pre-init" if="cldc-platform.trigger">
  117. <property name="preverify.sources.dir" location="${build.dir}/preverifysrc"/>
  118. <property name="manifest.build.file" location="${build.dir}/manifest.mf"/>
  119. <property name="platform.device" value=""/>
  120. <property name="dist.jad.url" value="file://"/>
  121. <property name="run.cmd.options" value=""/>
  122. <condition property="evaluated.run.security.domain" value="">
  123. <isfalse value="${run.use.security.domain}"/>
  124. </condition>
  125. <property name="evaluated.run.security.domain" value="${run.security.domain}"/>
  126. <condition property="override.jarurl.trigger">
  127. <and>
  128. <istrue value="${cldc-platform.trigger}"/>
  129. <istrue value="${deployment.override.jarurl}"/>
  130. </and>
  131. </condition>
  132. <property name="deployment.jad" location="${dist.dir}/${dist.jad}"/>
  133. <property name="deployment.jar" location="${dist.dir}/${dist.jar}"/>
  134. <property name="deployment.dir" location="${dist.dir}"/>
  135. <patternset id="deployment.patternset">
  136. <include name="${dist.jad}"/>
  137. <include name="${dist.jar}"/>
  138. </patternset>
  139. </target>
  140. <!--cdc-init-->
  141. <target name="cdc-init">
  142. <condition property="cdc-platform.trigger">
  143. <equals arg1="CDC" arg2="${platform.trigger}" casesensitive="false"/>
  144. </condition>
  145. <available file="${manifest.file}" property="manifest.available"/>
  146. <condition property="main.class.applet">
  147. <equals arg1="${main.class.class}" arg2="applet" casesensitive="false"/>
  148. </condition>
  149. <condition property="main.class.xlet">
  150. <equals arg1="${main.class.class}" arg2="xlet" casesensitive="false"/>
  151. </condition>
  152. <condition property="manifest.available+main.class+fat.jar">
  153. <and>
  154. <isset property="manifest.available"/>
  155. <isset property="main.class"/>
  156. <istrue value="${platform.fat.jar}"/>
  157. <not>
  158. <equals arg1="${main.class}" arg2="" trim="true"/>
  159. </not>
  160. </and>
  161. </condition>
  162. <condition property="manifest.available+main.class">
  163. <and>
  164. <isset property="manifest.available"/>
  165. <isset property="main.class"/>
  166. <isfalse value="${platform.fat.jar}"/>
  167. <not>
  168. <equals arg1="${main.class}" arg2="" trim="true"/>
  169. </not>
  170. </and>
  171. </condition>
  172. <condition property="application.version.invalid" value="true">
  173. <equals arg1="${deployment.number}" arg2="" trim="true"/>
  174. </condition>
  175. <fail if="application.version.invalid" message="Property deployment.number must not be empty and must contain version in format %d.%d.%d!"/>
  176. </target>
  177. <!--ricoh-init-->
  178. <target name="ricoh-pre-init" if="cdc-platform.trigger">
  179. <condition property="ricoh-platform.trigger">
  180. <equals arg1="ricoh" arg2="${platform.type}" casesensitive="false"/>
  181. </condition>
  182. </target>
  183. <target name="ricoh-init" depends="ricoh-pre-init" if="ricoh-platform.trigger">
  184. <available property="jcifs" classname="jcifs.smb.SmbFile" classpath="${libs.RicohAntTools.classpath}"/>
  185. <condition property="no.vendor.name" value="true">
  186. <equals arg1="${application.vendor}" arg2="" trim="true"/>
  187. </condition>
  188. <condition property="ricoh.dalp.install.mode" value="auto" else="manual">
  189. <istrue value="${ricoh.dalp.install.mode.auto}"/>
  190. </condition>
  191. <condition property="ricoh.dalp.display-mode.type" value="COLOR" else="MONO">
  192. <istrue value="${ricoh.dalp.display-mode.color}"/>
  193. </condition>
  194. <property name="xml.dir" value="${build.dir}/dalp"/>
  195. <property name="xlet.dalp" value="${application.name}.dalp"/>
  196. <property name="xlet.dalp.name-only" value="${application.name}.dalp"/>
  197. <property name="deploy.dir" value="${dist.dir}/deploy"/>
  198. <property name="rideploy.zip" value="${dist.dir}/${application.name}.zip"/>
  199. <property name="ricoh.dalp.is-managed" value="true"/>
  200. <property name="ricoh.dalp.information.is-icon-used" value="true"/>
  201. <property name="ricoh.platform.target.version" value="2.0"/>
  202. <property name="ricoh.dalp.version" value="${deployment.number}"/>
  203. <property name="ricoh.dalp.application-desc.visible" value="true"/>
  204. <property name="ricoh.dalp.install.destination" value="hdd"/>
  205. <property name="ricoh.dalp.install.work-dir" value="hdd"/>
  206. <property name="ricoh.dalp.information.abbreviation" value="RICOH"/>
  207. <taskdef name="taskIf" classname="ricoh.ant.ConditionalTask" classpath="${libs.ricoh-ant-utils.classpath}"/>
  208. <taskdef name="dalp" classname="org.netbeans.modules.j2me.cdc.project.ricoh.DalpBuilder" classpath="${libs.ricoh-ant-utils.classpath}"/>
  209. <property name="dalp.dist" value="${build.dir}/dalp/${application.name}.dalp"/>
  210. <property name="deployment.dir" location="${dist.dir}"/>
  211. <patternset id="deployment.patternset">
  212. <include name="${dist.jar}"/>
  213. <include name="${application.name}.dalp"/>
  214. <include name="lib/*"/>
  215. </patternset>
  216. </target>
  217. <!--semc-init-->
  218. <target name="semc-pre-init" if="cdc-platform.trigger">
  219. <condition property="semc-platform.trigger">
  220. <equals arg1="semc" arg2="${platform.type}" casesensitive="false"/>
  221. </condition>
  222. </target>
  223. <target name="semc-init" depends="semc-pre-init" if="semc-platform.trigger">
  224. <condition property="semc.icon.invalid" value="true">
  225. <or>
  226. <contains string="${semc.application.icon}" substring="$${"/>
  227. <equals arg1="${semc.application.icon}" arg2="" trim="true"/>
  228. </or>
  229. </condition>
  230. <condition property="no.certificateorkey" value="true">
  231. <or>
  232. <isset property="no.application.uid"/>
  233. <equals arg1="${semc.certificate.path}" arg2="" trim="true"/>
  234. <contains string="${semc.certificate.path}" substring="$${semc.certificate.path"/>
  235. <equals arg1="${semc.private.key.path}" arg2="" trim="true"/>
  236. <contains string="${semc.private.key.path}" substring="$${semc.private.key.path"/>
  237. </or>
  238. </condition>
  239. <property name="j9.dist" location="${build.dir}/j9/${semc.application.uid}.j9"/>
  240. <taskdef resource="org/netbeans/modules/j2me/cdc/project/defs.properties">
  241. <classpath>
  242. <pathelement path="${libs.cdc-ant-utils.classpath}"/>
  243. </classpath>
  244. </taskdef>
  245. <taskdef resource="org/netbeans/modules/j2me/cdc/project/semc/defs.properties">
  246. <classpath>
  247. <pathelement path="${libs.semc-ant-utils.classpath}"/>
  248. </classpath>
  249. </taskdef>
  250. <property name="deployment.dir" location="${dist.dir}"/>
  251. <patternset id="deployment.patternset">
  252. <include name="*.sis"/>
  253. <include name="*.SIS"/>
  254. </patternset>
  255. </target>
  256. <!--savaje-init-->
  257. <target name="savaje-pre-init" if="cdc-platform.trigger">
  258. <condition property="savaje-platform.trigger">
  259. <equals arg1="savaje" arg2="${platform.type}" casesensitive="false"/>
  260. </condition>
  261. </target>
  262. <target name="savaje-init" depends="savaje-pre-init" if="savaje-platform.trigger">
  263. <property name="savaje.application.uid" value="TBD"/>
  264. <condition property="savaje.bundle.base.invalid" value="true">
  265. <or>
  266. <equals arg1="${savaje.bundle.base}" arg2="" trim="true"/>
  267. <contains string="${savaje.bundle.base}" substring="$${savaje.bundle.base"/>
  268. </or>
  269. </condition>
  270. <condition property="savaje.unsupported.main" value="true">
  271. <or>
  272. <equals arg1="${main.class.applet}" arg2="true"/>
  273. </or>
  274. </condition>
  275. <condition property="savaje.icon.invalid" value="true">
  276. <or>
  277. <isset property="no.application.uid"/>
  278. <contains string="${savaje.application.icon}" substring="$${"/>
  279. <equals arg1="${savaje.application.icon}" arg2="" trim="true"/>
  280. </or>
  281. </condition>
  282. <property name="jnlp.dist" value="${build.dir}/jnlp/bundle.jnlp"/>
  283. <property name="deployment.dir" location="${dist.dir}"/>
  284. <patternset id="deployment.patternset">
  285. <include name="bundle.jnlp"/>
  286. <include name="bundle.policy"/>
  287. <include name="lib/*"/>
  288. </patternset>
  289. </target>
  290. <!--sjmc-init-->
  291. <target name="sjmc-pre-init" if="cdc-platform.trigger">
  292. <condition property="sjmc-platform.trigger">
  293. <equals arg1="sjmc" arg2="${platform.type}" casesensitive="false"/>
  294. </condition>
  295. </target>
  296. <target name="sjmc-init" depends="sjmc-pre-init" if="sjmc-platform.trigger"/>
  297. <!--ojec-init-->
  298. <target name="ojec-pre-init" if="cdc-platform.trigger">
  299. <condition property="ojec-platform.trigger">
  300. <equals arg1="ojec" arg2="${platform.type}" casesensitive="false"/>
  301. </condition>
  302. </target>
  303. <target name="ojec-init" depends="ojec-pre-init" if="ojec-platform.trigger"/>
  304. <!--cdc-hi-init-->
  305. <target name="cdc-hi-pre-init" if="cdc-platform.trigger">
  306. <condition property="cdc-hi-platform.trigger">
  307. <equals arg1="cdc-hi" arg2="${platform.type}" casesensitive="false"/>
  308. </condition>
  309. </target>
  310. <target name="cdc-hi-init" depends="cdc-hi-pre-init" if="cdc-hi-platform.trigger"/>
  311. <!--nokiaS80-init-->
  312. <target name="nokiaS80-pre-init" if="cdc-platform.trigger">
  313. <condition property="nokiaS80-platform.trigger">
  314. <equals arg1="nokiaS80" arg2="${platform.type}" casesensitive="false"/>
  315. </condition>
  316. </target>
  317. <target name="nokiaS80-init" depends="nokiaS80-pre-init" if="nokiaS80-platform.trigger">
  318. <property name="j9.dist" location="${build.dir}/j9/NOKIA.j9"/>
  319. <property name="manifest.build.file" location="${build.dir}/manifest.mf"/>
  320. <condition property="nokia.icon.invalid">
  321. <or>
  322. <contains string="${nokiaS80.application.icon}" substring="$${"/>
  323. <equals arg1="${nokiaS80.application.icon}" arg2="" trim="true"/>
  324. </or>
  325. </condition>
  326. <property name="deployment.dir" location="${dist.dir}"/>
  327. <patternset id="deployment.patternset">
  328. <include name="${dist.jar}"/>
  329. </patternset>
  330. </target>
  331. <!--nsicom-init-->
  332. <target name="nsicom-pre-init" if="cdc-platform.trigger">
  333. <condition property="nsicom-platform.trigger">
  334. <equals arg1="nsicom" arg2="${platform.type}" casesensitive="false"/>
  335. </condition>
  336. </target>
  337. <target name="nsicom-init" depends="nsicom-pre-init" if="nsicom-platform.trigger">
  338. <property name="deployment.dir" location="${dist.dir}"/>
  339. <patternset id="deployment.patternset">
  340. <include name="${dist.jar}"/>
  341. </patternset>
  342. </target>
  343. <!--init-->
  344. <target name="pre-init"/>
  345. <target name="post-init"/>
  346. <target name="init" depends="pre-init,load-properties,basic-init,cldc-init,cdc-init,ricoh-init,semc-init,savaje-init,sjmc-init,ojec-init,cdc-hi-init,nokiaS80-init,nsicom-init,post-init"/>
  347. <!--conditional clean-->
  348. <target name="conditional-clean-init">
  349. <uptodate property="no.clean.before.build" targetfile="${build.dir}/.timestamp">
  350. <srcfiles dir="nbproject">
  351. <include name="project.properties"/>
  352. <include name="build-impl.xml"/>
  353. </srcfiles>
  354. </uptodate>
  355. </target>
  356. <target name="conditional-clean" depends="init,conditional-clean-init" unless="no.clean.before.build" description="Clean project in case its meta information has changed.">
  357. <antcall target="do-clean" inheritall="true" inheritrefs="true"/>
  358. </target>
  359. <!--deps-jar-->
  360. <target name="deps-jar" depends="conditional-clean" unless="no.deps"/>
  361. <!--preprocess-->
  362. <target name="pre-preprocess"/>
  363. <target name="do-preprocess" unless="no.preprocess">
  364. <fail unless="preprocessed.dir">Must set preprocessed.dir</fail>
  365. <property name="abilities" value=""/>
  366. <property name="debug.level" value="debug"/>
  367. <mkdir dir="${preprocessed.dir}"/>
  368. <echo message="ignore me" file="${build.dir}/.timestamp"/>
  369. <nb-prep destdir="${preprocessed.dir}" preprocessfor="${config.active.name},${abilities},DebugLevel=${debug.level}" encoding="${javac.encoding}">
  370. <fileset dir="${buildsystem.baton}" defaultexcludes="${filter.use.standard}" excludes="${filter.excludes.evaluated}"/>
  371. </nb-prep>
  372. <copy todir="${preprocessed.dir}">
  373. <fileset dir="${buildsystem.baton}" defaultexcludes="${filter.use.standard}" excludes="${filter.excludes.evaluated},${build.classes.excludes}"/>
  374. </copy>
  375. <nb-overrideproperty name="buildsystem.baton" value="${preprocessed.dir}"/>
  376. </target>
  377. <target name="post-preprocess"/>
  378. <target name="preprocess" depends="deps-jar,pre-preprocess,do-preprocess,post-preprocess" description="Preprocess project sources."/>
  379. <!--compile-->
  380. <target name="pre-compile"/>
  381. <target name="do-compile">
  382. <fail unless="build.classes.dir">Must set build.classes.dir</fail>
  383. <mkdir dir="${build.classes.dir}"/>
  384. <javac includeantruntime="false" source="${javac.source}" target="${javac.target}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" debug="${javac.debug}" destdir="${build.classes.dir}" srcdir="${buildsystem.baton}" bootclasspath="${platform.bootclasspath}" encoding="${javac.encoding}">
  385. <classpath>
  386. <path path="${libs.classpath}"/>
  387. </classpath>
  388. </javac>
  389. <copy todir="${build.classes.dir}">
  390. <fileset dir="${buildsystem.baton}" defaultexcludes="${filter.use.standard}" excludes="${filter.excludes.evaluated},${build.classes.excludes}"/>
  391. </copy>
  392. <nb-overrideproperty name="buildsystem.baton" value="${build.classes.dir}"/>
  393. </target>
  394. <target name="extract-libs" description="Extracts all bundled libraries.">
  395. <mkdir dir="${build.classes.dir}"/>
  396. <nb-extract dir="${build.classes.dir}" excludeManifest="true" classpath="${libs.classpath}" excludeclasspath="${extra.classpath}"/>
  397. </target>
  398. <target name="post-compile"/>
  399. <target name="compile" depends="preprocess,pre-compile,extract-libs,do-compile,post-compile" description="Compile project classes."/>
  400. <!--compile-single-->
  401. <target name="pre-compile-single"/>
  402. <target name="do-compile-single">
  403. <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
  404. <mkdir dir="${build.classes.dir}"/>
  405. <javac includeantruntime="false" source="${javac.source}" target="${javac.target}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" debug="${javac.debug}" srcdir="${buildsystem.baton}" destdir="${build.classes.dir}" bootclasspath="${platform.bootclasspath}" includes="${javac.includes}" encoding="${javac.encoding}">
  406. <classpath>
  407. <path path="${libs.classpath}"/>
  408. </classpath>
  409. </javac>
  410. </target>
  411. <target name="post-compile-single"/>
  412. <target name="compile-single" depends="preprocess,pre-compile-single,do-compile-single,post-compile-single" description="Compile selected project classes."/>
  413. <!--proguard-->
  414. <target name="proguard-init" description="Up-to-date check before obfuscation.">
  415. <property name="obfuscation.level" value="0"/>
  416. <condition property="no.obfusc">
  417. <or>
  418. <equals arg1="${obfuscation.level}" arg2="0"/>
  419. <uptodate targetfile="${obfuscator.destjar}">
  420. <srcfiles dir="${buildsystem.baton}"/>
  421. </uptodate>
  422. </or>
  423. </condition>
  424. <uptodate property="obfuscation.up-to-date" targetfile="${obfuscator.destjar}">
  425. <srcfiles dir="${buildsystem.baton}"/>
  426. </uptodate>
  427. </target>
  428. <target name="skip-obfuscation" depends="proguard-init" if="obfuscation.up-to-date">
  429. <fail unless="obfuscated.classes.dir">Must set obfuscated.classes.dir</fail>
  430. <nb-overrideproperty name="buildsystem.baton" value="${obfuscated.classes.dir}"/>
  431. </target>
  432. <target name="proguard" depends="skip-obfuscation" description="Obfuscate project classes." unless="no.obfusc">
  433. <fail unless="obfuscated.classes.dir">Must set obfuscated.classes.dir</fail>
  434. <fail unless="obfuscator.srcjar">Must set obfuscator.srcjar</fail>
  435. <fail unless="obfuscator.destjar">Must set obfuscator.destjar</fail>
  436. <property name="obfuscator.classpath" value=""/>
  437. <dirname file="${obfuscator.srcjar}" property="obfuscator.srcjar.dir"/>
  438. <dirname file="${obfuscator.destjar}" property="obfuscator.destjar.dir"/>
  439. <mkdir dir="${obfuscator.srcjar.dir}"/>
  440. <mkdir dir="${obfuscator.destjar.dir}"/>
  441. <jar jarfile="${obfuscator.srcjar}" basedir="${buildsystem.baton}"/>
  442. <property name="obfuscation.custom" value=""/>
  443. <nb-obfuscate srcjar="${obfuscator.srcjar}" destjar="${obfuscator.destjar}" obfuscatorclasspath="${obfuscator.classpath}" classpath="${platform.bootclasspath}:${extra.classpath}" obfuscationLevel="${obfuscation.level}" extraScript="${obfuscation.custom}"/>
  444. <mkdir dir="${obfuscated.classes.dir}"/>
  445. <unjar src="${obfuscator.destjar}" dest="${obfuscated.classes.dir}"/>
  446. <nb-overrideproperty name="buildsystem.baton" value="${obfuscated.classes.dir}"/>
  447. </target>
  448. <!--obfuscate-->
  449. <target name="pre-obfuscate"/>
  450. <target name="post-obfuscate"/>
  451. <target name="obfuscate" depends="compile,pre-obfuscate,proguard,post-obfuscate" description="Obfuscate project classes."/>
  452. <!--lwuit-build-->
  453. <import file="lwuit.xml" optional="true"/>
  454. <target name="-lwuit-check">
  455. <condition property="lwuit.allowed">
  456. <and>
  457. <available file="nbproject/lwuit.xml"/>
  458. <isset property="is.mesdk_lwuit"/>
  459. </and>
  460. </condition>
  461. </target>
  462. <target name="-pre-lwuit-build" depends="-lwuit-check" if="lwuit.allowed"/>
  463. <target name="-lwuit-build" depends="-lwuit-check" if="lwuit.allowed">
  464. <antcall target="lwuit_build"/>
  465. </target>
  466. <target name="-post-lwuit-build" depends="-lwuit-check" if="lwuit.allowed"/>
  467. <target name="lwuit-build" depends="-lwuit-check,-pre-lwuit-build, -lwuit-build, -post-lwuit-build" if="lwuit.allowed"/>
  468. <!--preverify-->
  469. <target name="pre-preverify"/>
  470. <target name="do-preverify" if="cldc-platform.trigger">
  471. <fail unless="preverify.classes.dir">Must set preverify.classes.dir</fail>
  472. <mkdir dir="${preverify.sources.dir}"/>
  473. <copy todir="${preverify.sources.dir}">
  474. <fileset dir="${buildsystem.baton}" includes="**/*.class"/>
  475. </copy>
  476. <mkdir dir="${preverify.classes.dir}"/>
  477. <nb-preverify srcdir="${preverify.sources.dir}" destdir="${preverify.classes.dir}" classpath="${platform.bootclasspath}:${extra.classpath}" configuration="${platform.configuration}" platformhome="${platform.home}" platformtype="${platform.type}" commandline="${platform.preverifycommandline}"/>
  478. <copy todir="${preverify.classes.dir}">
  479. <fileset dir="${buildsystem.baton}" defaultexcludes="${filter.use.standard}" excludes="${filter.excludes.evaluated},${build.classes.excludes}"/>
  480. </copy>
  481. <nb-overrideproperty name="buildsystem.baton" value="${preverify.classes.dir}"/>
  482. </target>
  483. <target name="post-preverify"/>
  484. <target name="preverify" depends="obfuscate,lwuit-build,pre-preverify,do-preverify,post-preverify" description="Preverify project classes."/>
  485. <!--set-password-->
  486. <target name="set-password-init">
  487. <property name="sign.enabled" value="false"/>
  488. <condition property="skip-sign-keystore-password-input">
  489. <or>
  490. <isfalse value="${sign.enabled}"/>
  491. <and>
  492. <isset property="sign.keystore"/>
  493. <isset property="sign.keystore.password"/>
  494. <not>
  495. <equals arg1="${sign.keystore}" arg2="" trim="true"/>
  496. </not>
  497. <not>
  498. <equals arg1="${sign.keystore.password}" arg2="" trim="true"/>
  499. </not>
  500. </and>
  501. </or>
  502. </condition>
  503. <condition property="skip-sign-alias-password-input">
  504. <or>
  505. <isfalse value="${sign.enabled}"/>
  506. <and>
  507. <isset property="sign.keystore"/>
  508. <isset property="sign.alias"/>
  509. <isset property="sign.alias.password"/>
  510. <not>
  511. <equals arg1="${sign.keystore}" arg2="" trim="true"/>
  512. </not>
  513. <not>
  514. <equals arg1="${sign.alias}" arg2="" trim="true"/>
  515. </not>
  516. <not>
  517. <equals arg1="${sign.alias.password}" arg2="" trim="true"/>
  518. </not>
  519. </and>
  520. </or>
  521. </condition>
  522. </target>
  523. <target name="set-keystore-password" if="netbeans.home" unless="skip-sign-keystore-password-input">
  524. <nb-enter-password keystore="${sign.keystore}" passwordproperty="sign.keystore.password"/>
  525. </target>
  526. <target name="set-alias-password" if="netbeans.home" unless="skip-sign-alias-password-input">
  527. <nb-enter-password keystore="${sign.keystore}" keyalias="${sign.alias}" passwordproperty="sign.alias.password"/>
  528. </target>
  529. <target name="set-password" depends="set-password-init,set-keystore-password,set-alias-password"/>
  530. <!--create JAD-->
  531. <target name="add-configuration" unless="contains.manifest.configuration">
  532. <nb-output file="${dist.dir}/${dist.jad}" encoding="UTF-8" append="true">MicroEdition-Configuration: ${platform.configuration}
  533. </nb-output>
  534. <nb-output file="${manifest.build.file}" encoding="UTF-8" append="true">MicroEdition-Configuration: ${platform.configuration}
  535. </nb-output>
  536. </target>
  537. <target name="add-profile" unless="contains.manifest.profile">
  538. <nb-output file="${dist.dir}/${dist.jad}" encoding="UTF-8" append="true">MicroEdition-Profile: ${platform.profile}
  539. </nb-output>
  540. <nb-output file="${manifest.build.file}" encoding="UTF-8" append="true">MicroEdition-Profile: ${platform.profile}
  541. </nb-output>
  542. </target>
  543. <target name="create-jad" if="cldc-platform.trigger">
  544. <fail unless="dist.jad">Must set dist.jad</fail>
  545. <mkdir dir="${build.dir}"/>
  546. <dirname file="${dist.dir}/${dist.jad}" property="dist.jad.dir"/>
  547. <mkdir dir="${dist.jad.dir}"/>
  548. <condition property="evaluated.manifest.apipermissions" value="${manifest.apipermissions}">
  549. <not>
  550. <equals arg1="${platform.profile}" arg2="MIDP-1.0"/>
  551. </not>
  552. </condition>
  553. <condition property="evaluated.manifest.pushregistry" value="${manifest.pushregistry}">
  554. <not>
  555. <equals arg1="${platform.profile}" arg2="MIDP-1.0"/>
  556. </not>
  557. </condition>
  558. <condition property="contains.manifest.configuration">
  559. <contains substring="MicroEdition-Configuration: " string="${manifest.others}"/>
  560. </condition>
  561. <condition property="contains.manifest.profile">
  562. <contains substring="MicroEdition-Profile: " string="${manifest.others}"/>
  563. </condition>
  564. <property value="" name="evaluated.manifest.apipermissions"/>
  565. <property value="" name="evaluated.manifest.pushregistry"/>
  566. <property name="manifest.jad" value=""/>
  567. <property name="manifest.manifest" value=""/>
  568. <nb-output file="${dist.dir}/${dist.jad}" encoding="UTF-8">${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.jad}</nb-output>
  569. <nb-output file="${manifest.build.file}" encoding="UTF-8">${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.manifest}</nb-output>
  570. <antcall target="add-configuration" inheritall="true" inheritrefs="true"/>
  571. <antcall target="add-profile" inheritall="true" inheritrefs="true"/>
  572. <property name="manifest.available" value="true"/>
  573. </target>
  574. <!--do-extra-libs-->
  575. <target name="do-extra-libs" if="extra.classpath">
  576. <property name="dist.lib.dir" value="${dist.dir}/lib"/>
  577. <mkdir dir="${dist.lib.dir}"/>
  578. <copypath destdir="${dist.lib.dir}" path="${extra.classpath}">
  579. <flattenmapper/>
  580. </copypath>
  581. </target>
  582. <!--nokiaS80-manifest-->
  583. <target name="nokiaS80-prepare-j9" if="nokiaS80-platform.trigger">
  584. <fail message="Main class is not set!">
  585. <condition>
  586. <equals arg1="${main.class}" arg2="" trim="true"/>
  587. </condition>
  588. </fail>
  589. <mkdir dir="${build.dir}/j9"/>
  590. <taskdef name="j9builder" classname="org.netbeans.modules.j2me.cdc.project.J9Builder" classpath="${libs.cdc-ant-utils.classpath}"/>
  591. <j9builder jvmargs="${run.jvmargs}" mainclass="${main.class}" args="${application.args}" home="${platform.home}" dist="${j9.dist}" id="NOKIA" platform="${platform.type}" xlet="${main.class.xlet}" applet="${main.class.applet}" jarname="${dist.jar}"/>
  592. <copy file="${manifest.file}" tofile="${manifest.build.file}" failonerror="false"/>
  593. <property name="manifest.available" value="true"/>
  594. <loadfile property="nokia.manifest.j9" srcFile="${j9.dist}"/>
  595. </target>
  596. <target name="nokiaS80-prepare-manifest" depends="nokiaS80-prepare-j9" if="nokiaS80-platform.trigger" unless="nokia.icon.invalid">
  597. <pathconvert property="logo.icon.name" pathsep=" ">
  598. <path path="${nokiaS80.application.icon}"/>
  599. <chainedmapper>
  600. <flattenmapper/>
  601. <globmapper from="*" to="*"/>
  602. </chainedmapper>
  603. </pathconvert>
  604. <copy file="${nokiaS80.application.icon}" todir="${buildsystem.baton}"/>
  605. <manifest file="${manifest.build.file}" mode="update">
  606. <attribute name="Main-Class" value="${main.class}"/>
  607. <attribute name="PproApp-Name" value="${application.name}"/>
  608. <attribute name="PproApp-Vendor" value="${application.vendor}"/>
  609. <attribute name="PproApp-Version" value="${deployment.number}"/>
  610. <attribute name="PproApp-Icon" value="${logo.icon.name}"/>
  611. <attribute name="x-ibm-pp-j9" value="${nokia.manifest.j9}"/>
  612. </manifest>
  613. </target>
  614. <target name="nokiaS80-prepare-manifest-no-icon" depends="nokiaS80-prepare-j9" if="nokia.icon.invalid">
  615. <manifest file="${manifest.build.file}" mode="update">
  616. <attribute name="Main-Class" value="${main.class}"/>
  617. <attribute name="PproApp-Name" value="${application.name}"/>
  618. <attribute name="PproApp-Vendor" value="${application.vendor}"/>
  619. <attribute name="PproApp-Version" value="${deployment.number}"/>
  620. <attribute name="x-ibm-pp-j9" value="${nokia.manifest.j9}"/>
  621. </manifest>
  622. </target>
  623. <target name="nokiaS80-create-manifest" depends="nokiaS80-prepare-j9,nokiaS80-prepare-manifest,nokiaS80-prepare-manifest-no-icon" if="nokiaS80-platform.trigger"/>
  624. <!--jad-jsr211-properties-->
  625. <target name="jad-jsr211-properties.check">
  626. <condition property="jad-jsr211-properties.allowed">
  627. <and>
  628. <isset property="cldc-platform.trigger"/>
  629. <isset property="netbeans.home"/>
  630. <isset property="is.mesdk_jsr211"/>
  631. </and>
  632. </condition>
  633. </target>
  634. <target name="jad-jsr211-properties" description="Updates JAD and manifest with JSR211 properties." depends="jad-jsr211-properties.check" if="jad-jsr211-properties.allowed">
  635. <jadjsr211properties jadfile="${dist.dir}/${dist.jad}" manifestfile="${build.dir}/${manifest.file}"/>
  636. </target>
  637. <!--semc-build-j9-->
  638. <target name="semc-build-j9" if="semc-platform.trigger">
  639. <epocpathsetter home="${platform.home}"/>
  640. <property name="semc.application.caps" value=""/>
  641. <mkdir dir="${platform.home}/epoc32/winscw/c/private/${semc.application.uid}"/>
  642. <mkdir dir="${build.dir}/j9"/>
  643. <fail message="Main class is not set!">
  644. <condition>
  645. <equals arg1="${main.class}" arg2="" trim="true"/>
  646. </condition>
  647. </fail>
  648. <j9builder jvmargs="${run.jvmargs}" mainclass="${main.class}" args="${application.args}" home="${platform.home}" dist="${j9.dist}" id="${semc.application.uid}" platform="${platform.type}" xlet="${main.class.xlet}" applet="${main.class.applet}" jarname="${dist.jar}"/>
  649. </target>
  650. <!--do-jar-->
  651. <target name="do-jar" if="manifest.available">
  652. <dirname file="${dist.dir}/${dist.jar}" property="dist.jar.dir"/>
  653. <mkdir dir="${dist.jar.dir}"/>
  654. <property name="manifest.build.file" location="${manifest.file}"/>
  655. <jar compress="${jar.compress}" jarfile="${dist.dir}/${dist.jar}" manifest="${manifest.build.file}" manifestencoding="UTF-8">
  656. <fileset dir="${buildsystem.baton}"/>
  657. </jar>
  658. </target>
  659. <!--nsicom-create-manifest-->
  660. <target name="nsicom-create-manifest" if="nsicom-platform.trigger">
  661. <jar jarfile="${dist.dir}/${dist.jar}" compress="${jar.compress}" update="true">
  662. <manifest>
  663. <attribute name="Main-Class" value="${main.class}"/>
  664. </manifest>
  665. </jar>
  666. </target>
  667. <!--do-jar-no-manifest-->
  668. <target name="do-jar-no-manifest" unless="manifest.available">
  669. <dirname file="${dist.dir}/${dist.jar}" property="dist.jar.dir"/>
  670. <mkdir dir="${dist.jar.dir}"/>
  671. <jar compress="${jar.compress}" jarfile="${dist.dir}/${dist.jar}">
  672. <fileset dir="${buildsystem.baton}"/>
  673. </jar>
  674. </target>
  675. <!--update-jad-->
  676. <target name="update-jad" if="cldc-platform.trigger">
  677. <nb-jad jadfile="${dist.dir}/${dist.jad}" jarfile="${dist.dir}/${dist.jar}" url="${dist.jar}" sign="${sign.enabled}" keystore="${sign.keystore}" keystorepassword="${sign.keystore.password}" alias="${sign.alias}" aliaspassword="${sign.alias.password}" encoding="UTF-8"/>
  678. </target>
  679. <!--ricoh-init-dalp-->
  680. <target name="ricoh-init-dalp" if="ricoh-platform.trigger">
  681. <property name="ricoh.application.telephone" value=""/>
  682. <property name="ricoh.application.fax" value=""/>
  683. <property name="ricoh.application.email" value=""/>
  684. <condition property="no.unmanaged.dalp">
  685. <and>
  686. <isfalse value="${ricoh.dalp.is-managed}"/>
  687. <not>
  688. <available file="./${application.name}.dalp"/>
  689. </not>
  690. </and>
  691. </condition>
  692. <fail if="no.unmanaged.dalp" message="Dalp file ${application.name}.dalp is required in project directory when DALP management is set to off."/>
  693. <condition property="no.vendor.name" value="true">
  694. <equals arg1="${application.vendor}" arg2="" trim="true"/>
  695. </condition>
  696. <condition property="ricoh.icon.invalid" value="true">
  697. <or>
  698. <contains string="${ricoh.application.icon}" substring="$${"/>
  699. <equals arg1="${ricoh.application.icon}" arg2="" trim="true"/>
  700. </or>
  701. </condition>
  702. <mkdir dir="${dist.dir}/lib"/>
  703. </target>
  704. <!--ricoh-add-app-icon-->
  705. <target name="ricoh-add-app-icon" depends="ricoh-init-dalp" if="ricoh-platform.trigger" unless="ricoh.icon.invalid">
  706. <pathconvert property="icon.name" pathsep=" ">
  707. <path path="${ricoh.application.icon}"/>
  708. <chainedmapper>
  709. <flattenmapper/>
  710. <globmapper from="*" to="*"/>
  711. </chainedmapper>
  712. </pathconvert>
  713. <jar jarfile="${dist.jar}" compress="${jar.compress}" update="true">
  714. <fileset file="${ricoh.application.icon}"/>
  715. </jar>
  716. </target>
  717. <!--ricoh-build-dalp-with-icon-->
  718. <target name="ricoh-build-dalp-with-icon" depends="ricoh-add-app-icon" if="ricoh-platform.trigger" unless="ricoh.icon.invalid">
  719. <mkdir dir="${build.dir}/dalp/"/>
  720. <taskIf if="ricoh.dalp.is-managed" value="true">
  721. <dalp file="${dalp.dist}" iconname="${icon.name}">
  722. <fileset dir="${dist.dir}/lib"/>
  723. </dalp>
  724. <echo message="Managed dalp file ${dalp.dist} created w/ icon"/>
  725. </taskIf>
  726. <taskIf if="ricoh.dalp.is-managed" value="false">
  727. <copy tofile="${dalp.dist}">
  728. <fileset file="./${application.name}.dalp"/>
  729. </copy>
  730. <echo message="Non-managed dalp file ${dalp.dist} w/ icon imported"/>
  731. </taskIf>
  732. </target>
  733. <!--ricoh-build-dalp-without-icon-->
  734. <target name="ricoh-build-dalp-without-icon" if="ricoh.icon.invalid">
  735. <mkdir dir="${build.dir}/dalp/"/>
  736. <taskIf if="ricoh.dalp.is-managed" value="true">
  737. <dalp file="${dalp.dist}">
  738. <fileset dir="${dist.dir}/lib"/>
  739. </dalp>
  740. <echo message="Managed dalp file ${dalp.dist} created w/o icon"/>
  741. </taskIf>
  742. <taskIf if="ricoh.dalp.is-managed" value="false">
  743. <copy tofile="${dalp.dist}">
  744. <fileset file="./${application.name}.dalp"/>
  745. </copy>
  746. <echo message="Non-managed dalp file ${dalp.dist} w/o icon imported"/>
  747. </taskIf>
  748. </target>
  749. <target name="ricoh-build-dalp" depends="ricoh-build-dalp-with-icon,ricoh-build-dalp-without-icon" if="ricoh-platform.trigger">
  750. <copy todir="${dist.dir}" file="${dalp.dist}" overwrite="true"/>
  751. </target>
  752. <!--savaje-build-jnlp-->
  753. <target name="savaje-prepare-icon" if="savaje-platform.trigger" unless="savaje.icon.invalid">
  754. <pathconvert property="savaje.application.icon.name" pathsep=" ">
  755. <path path="${savaje.application.icon}"/>
  756. <chainedmapper>
  757. <flattenmapper/>
  758. <globmapper from="*" to="*"/>
  759. </chainedmapper>
  760. </pathconvert>
  761. <mkdir dir="${dist.dir}/lib"/>
  762. <copy tofile="${dist.dir}/lib/${savaje.application.icon.name}" file="${savaje.application.icon}" overwrite="true" failonerror="false"/>
  763. </target>
  764. <target name="savaje-build-jnlp" depends="savaje-prepare-icon" if="savaje-platform.trigger">
  765. <mkdir dir="${build.dir}/jnlp/"/>
  766. <taskdef resource="org/netbeans/modules/j2me/cdc/project/savaje/defs.properties">
  767. <classpath>
  768. <pathelement path="${libs.savaje-ant-utils.classpath}"/>
  769. </classpath>
  770. </taskdef>
  771. <jnlp dir="${build.dir}/jnlp/" file="bundle.jnlp" codebase="WTK_AGUI" distjar="lib/${dist.jar.name}" applicationicon="lib/${savaje.application.icon.name}" smallicon="${savaje.application.icon.small}" focusedicon="${savaje.application.icon.focused}" applicationtitle="${application.name}" applicationvendor="${application.vendor}" applicationDescription="${application.description}" applicationArgs="${application.args}" mainClass="${main.class}" debug="${savaje.bundle.debug}" debugport="${savaje.bundle.debug.port}">
  772. <fileset dir="${dist.dir}/lib"/>
  773. </jnlp>
  774. <policy file="${build.dir}/jnlp/bundle.policy" codebase="WTK_AGUI"/>
  775. <copy tofile="${dist.dir}/lib/classes.jar" file="${dist.dir}/${dist.jar}" overwrite="true"/>
  776. <copy todir="${dist.dir}" file="${build.dir}/jnlp/bundle.jnlp" overwrite="true"/>
  777. <copy tofile="${dist.dir}/bundle.policy" file="${build.dir}/jnlp/bundle.policy" overwrite="true"/>
  778. <copy todir="${dist.dir}/lib" overwrite="true" failonerror="false">
  779. <fileset dir="${resources.dir}"/>
  780. </copy>
  781. </target>
  782. <!--jar-->
  783. <target name="pre-jar"/>
  784. <target name="post-jar"/>
  785. <target name="jar" depends="preverify,pre-jar,set-password,create-jad,do-extra-libs,nokiaS80-create-manifest,jad-jsr211-properties,semc-build-j9,do-jar,nsicom-create-manifest,do-jar-no-manifest,update-jad,ricoh-build-dalp,savaje-build-jnlp,post-jar" description="Build jar and application descriptor."/>
  786. <!--override-jad-->
  787. <target name="override-jad" if="override.jarurl.trigger">
  788. <property name="deployment.jarurl" value="${dist.jar}"/>
  789. <nb-jad jadfile="${dist.dir}/${dist.jad}" jarfile="${dist.dir}/${dist.jar}" url="${deployment.jarurl}" sign="${sign.enabled}" keystore="${sign.keystore}" keystorepassword="${sign.keystore.password}" alias="${sign.alias}" aliaspassword="${sign.alias.password}" encoding="UTF-8"/>
  790. </target>
  791. <!--semc-make-sis-->
  792. <target name="-semc-sis-init" if="semc-platform.trigger" description="Init necessary properties for SEMC platform">
  793. <property name="pprolauncher.dir" value="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}"/>
  794. </target>
  795. <target name="semc-ppro-arm" if="semc-platform.trigger" description="Builds neccessary files for semc device">
  796. <exec executable="${platform.home}/epoc32/tools/create-ppro-app.bat" dir="${platform.home}/epoc32/tools/">
  797. <arg value="arm"/>
  798. <arg value="${application.name}"/>
  799. <arg value="${semc.application.uid}"/>
  800. <arg value="${j9.dist}"/>
  801. <arg value="${semc.application.caps}"/>
  802. <env key="SDKDRIVE" value="${sdkdrive}"/>
  803. <env key="EPOCROOT" value="${epocroot}"/>
  804. <env key="Path" value="${epocpath}"/>
  805. </exec>
  806. </target>
  807. <target name="semc-make-sis-icon" if="semc-platform.trigger" unless="semc.icon.invalid">
  808. <copy file="${semc.application.icon}" tofile="${pprolauncher.dir}/${semc.application.uid}.mbm" failonerror="false"/>
  809. </target>
  810. <target name="semc-make-sis" depends="semc-ppro-arm,semc-make-sis-icon" if="semc-platform.trigger" unless="no.application.uid" description="Builds SIS file for device">
  811. <property name="dll.dir" location="dll"/>
  812. <mkdir dir="${dll.dir}"/>
  813. <copy todir="${pprolauncher.dir}">
  814. <fileset dir="${dist.dir}">
  815. <exclude name="javadoc/**"/>
  816. </fileset>
  817. </copy>
  818. <copy todir="${pprolauncher.dir}">
  819. <fileset dir="${dll.dir}">
  820. <include name="**/*.dll"/>
  821. </fileset>
  822. </copy>
  823. <copy todir="${pprolauncher.dir}" failonerror="false">
  824. <fileset dir="${resources.dir}"/>
  825. </copy>
  826. <pkgmake workdir="${pprolauncher.dir}" id="${semc.application.uid}" appname="${application.name}" appicon="${semc.application.uid}.mbm" vendor="${application.vendor}" version="${deployment.number}" logo="${logo.image}" logoinstallonly="${logo.image.installonly}">
  827. <fileset dir="${dist.dir}">
  828. <exclude name="javadoc/**"/>
  829. </fileset>
  830. <fileset dir="${dll.dir}">
  831. <include name="**/*.dll"/>
  832. </fileset>
  833. <fileset dir="${resources.dir}"/>
  834. </pkgmake>
  835. <exec executable="${platform.home}/epoc32/tools/makesis" dir="${pprolauncher.dir}">
  836. <arg value="-d${pprolauncher.dir}"/>
  837. <arg value="PProLauncher${semc.application.uid}.pkg"/>
  838. <arg value="${application.name}.sis"/>
  839. <env key="SDKDRIVE" value="${sdkdrive}"/>
  840. <env key="EPOCROOT" value="${epocroot}"/>
  841. <env key="Path" value="${epocpath}"/>
  842. </exec>
  843. <copy todir="${dist.dir}">
  844. <fileset dir="${pprolauncher.dir}">
  845. <include name="**/*.SIS"/>
  846. <include name="**/*.sis"/>
  847. </fileset>
  848. </copy>
  849. </target>
  850. <target name="semc-sign-sis" if="semc-platform.trigger" depends="semc-make-sis" unless="no.certificateorkey" description="Sign SIS file">
  851. <exec executable="${platform.home}/epoc32/tools/signsis" dir="${pprolauncher.dir}">
  852. <arg value="-s"/>
  853. <arg value="${pprolauncher.dir}/${application.name}.sis"/>
  854. <arg value="${pprolauncher.dir}/${application.name}-SIGNED.sis"/>
  855. <arg value="${semc.certificate.path}"/>
  856. <arg value="${semc.private.key.path}"/>
  857. <arg value="${semc.private.key.password}"/>
  858. <env key="SDKDRIVE" value="${sdkdrive}"/>
  859. <env key="EPOCROOT" value="${epocroot}"/>
  860. <env key="Path" value="${epocpath}"/>
  861. </exec>
  862. <copy todir="${dist.dir}">
  863. <fileset dir="${pprolauncher.dir}">
  864. <include name="**/*.SIS"/>
  865. <include name="**/*.sis"/>
  866. </fileset>
  867. </copy>
  868. </target>
  869. <target name="semc-no-sign-sis" depends="semc-make-sis" if="no.certificateorkey" unless="no.application.uid" description="Prints out only info when SIS is not signed ">
  870. <echo message="Signed SIS was not created! Set up path to certificate and private key in project properties!"/>
  871. </target>
  872. <target name="-pre-semc-sis" if="semc-platform.trigger" description="Customizable target called before SIS file is built"/>
  873. <target name="semc-sis" if="semc-platform.trigger" depends="-semc-sis-init, -pre-semc-sis, semc-sign-sis,semc-no-sign-sis, -post-semc-sis" unless="no.application.uid"/>
  874. <target name="-post-semc-sis" if="semc-platform.trigger" description="Customizable target called after SIS file is built"/>
  875. <!--increment-app-version-->
  876. <target name="increment-app-version" if="app-version.autoincrement.trigger">
  877. <propertyfile file="nbproject/private/private.properties">
  878. <entry key="deployment.counter" type="int" operation="+" default="2" pattern="0"/>
  879. <entry key="deployment.number" value="000000${deployment.counter}"/>
  880. </propertyfile>
  881. <property name="deployment.number.pattern" value="\2\3.\5\6.\8\9"/>
  882. <replaceregexp byline="true" file="nbproject/private/private.properties" match="^deployment.number=[0-9]*(0|([1-9]))([0-9])(0|([1-9]))([0-9])(0|([1-9]))([0-9])$" replace="deployment.number=${deployment.number.pattern}"/>
  883. </target>
  884. <!--build-->
  885. <target name="pre-build"/>
  886. <target name="post-build"/>
  887. <target name="build" depends="jar,pre-build,override-jad,semc-sis,increment-app-version,post-build" description="Builds final distribution of the application."/>
  888. <!--open-netmon-->
  889. <target name="netmon.check">
  890. <condition property="netmon.allowed">
  891. <and>
  892. <not>
  893. <isset property="bdj-platform.trigger"/>
  894. </not>
  895. <isset property="netbeans.home"/>
  896. <isset property="is.mesdk_netmon"/>
  897. </and>
  898. </condition>
  899. </target>
  900. <target name="open-netmon" description="Open network monitor" depends="netmon.check" if="netmon.allowed">
  901. <opennetmon device="${platform.device}"/>
  902. </target>
  903. <!--cldc-run-->
  904. <target name="cldc-run" if="cldc-platform.trigger">
  905. <nb-run jadfile="${dist.dir}/${dist.jad}" jarfile="${dist.dir}/${dist.jar}" jadurl="${dist.jad.url}" device="${platform.device}" platformhome="${platform.home}" platformtype="${platform.type}" execmethod="${run.method}" securitydomain="${evaluated.run.security.domain}" commandline="${platform.runcommandline}" classpath="${platform.bootclasspath}:${dist.dir}/${dist.jar}" cmdoptions="${run.cmd.options}"/>
  906. </target>
  907. <!--ricoh-run-->
  908. <target name="ricoh-run" if="ricoh-platform.trigger">
  909. <copy todir="${platform.home}/mnt/sd3/sdk/dsdk/dist/${ricoh.application.uid}" overwrite="true">
  910. <fileset dir="${dist.dir}">
  911. <patternset refid="deployment.patternset"/>
  912. </fileset>
  913. <flattenmapper/>
  914. </copy>
  915. <ant antfile="${platform.home}/startemulator.xml" target="start_emulator" dir="${platform.home}">
  916. <property name="emulator.skin" value="WVGA.xml"/>
  917. <property name="emulator.autolaunchid" value="${ricoh.application.uid}"/>
  918. </ant>
  919. </target>
  920. <!--semc-run-and-debug-prepare-targets-->
  921. <target name="semc-icon-assembly" if="semc-platform.trigger" unless="semc.icon.invalid">
  922. <copy file="${semc.application.icon}" tofile="${platform.home}/epoc32/release/winscw/udeb/z/Resource/Apps/${semc.application.uid}.mbm" failonerror="false"/>
  923. <iconassembly home="${platform.home}" uid="${semc.application.uid}" count="${application.icon.count}"/>
  924. </target>
  925. <target name="semc-ppro-emulator" if="semc-platform.trigger" description="Builds neccessary files for semc emulator">
  926. <exec executable="${platform.home}/epoc32/tools/create-ppro-app.bat" dir="${platform.home}/epoc32/tools/">
  927. <arg value="win32"/>
  928. <arg value="${application.name}"/>
  929. <arg value="${semc.application.uid}"/>
  930. <arg value="${j9.dist}"/>
  931. <arg value="${semc.application.caps}"/>
  932. <env key="SDKDRIVE" value="${sdkdrive}"/>
  933. <env key="EPOCROOT" value="${epocroot}"/>
  934. <env key="Path" value="${epocpath}"/>
  935. </exec>
  936. </target>
  937. <target name="semc-do-run" if="semc-platform.trigger" description="Prepare log folders, copy necessary files">
  938. <copy todir="${platform.home}/epoc32/winscw/C/private/${semc.application.uid}">
  939. <fileset dir="${dist.dir}">
  940. <exclude name="javadoc/**"/>
  941. </fileset>
  942. </copy>
  943. <mkdir dir="${platform.home}/epoc32/winscw/c/logs/j9vm"/>
  944. <epocinipath file="${platform.home}/epoc32/data/epoc.ini"/>
  945. <exec executable="${platform.home}/epoc32/release/winscw/udeb/epoc.exe">
  946. <env key="SDKDRIVE" value="${sdkdrive}"/>
  947. <env key="EPOCROOT" value="${epocroot}"/>
  948. <env key="Path" value="${epocpath}"/>
  949. </exec>
  950. </target>
  951. <!--semc-run-->
  952. <target name="semc-run" depends="semc-icon-assembly,semc-ppro-emulator,semc-do-run" if="semc-platform.trigger"/>
  953. <!--savaje-run-->
  954. <target name="savaje-run" if="savaje-platform.trigger">
  955. <sunEmulatorExec home="${platform.home}" mainclass="${main.class}" args="${application.args}" jvmargs="${run.cmd.options}" device="${platform.device}" profile="${platform.profile}" xlet="${main.class.xlet}" applet="${main.class.applet}">
  956. <fileset dir="${dist.dir}">
  957. <exclude name="javadoc/**"/>
  958. </fileset>
  959. </sunEmulatorExec>
  960. </target>
  961. <!--sjmc-run-->
  962. <target name="sjmc-run" if="sjmc-platform.trigger">
  963. <taskdef name="sjmcEmulatorExec" classname="org.netbeans.modules.j2me.cdc.project.sjmc.SJMCToolkitEmulatorExecTask" classpath="${libs.sjmc-ant-utils.classpath}"/>
  964. <sjmcEmulatorExec home="${platform.home}" mainclass="${main.class}" args="${application.args}" jvmargs="${run.cmd.options}" device="${platform.device}" profile="${platform.profile}" xlet="${main.class.xlet}" applet="${main.class.applet}">
  965. <fileset dir="${dist.dir}">
  966. <exclude name="javadoc/**"/>
  967. </fileset>
  968. </sjmcEmulatorExec>
  969. </target>
  970. <!--ojec-run-->
  971. <target name="ojec-run" if="ojec-platform.trigger">
  972. <taskdef name="ojecEmulatorExec" classname="org.netbeans.modules.j2me.cdc.project.ojec.OJECToolkitEmulatorExecTask" classpath="${libs.ojec-ant-utils.classpath}"/>
  973. <ojecEmulatorExec home="${platform.home}" mainclass="${main.class}" args="${application.args}" jvmargs="${run.cmd.options}" device="${platform.device}" profile="${platform.profile}" xlet="${main.class.xlet}" applet="${main.class.applet}">
  974. <fileset dir="${dist.dir}">
  975. <exclude name="javadoc/**"/>
  976. </fileset>
  977. </ojecEmulatorExec>
  978. </target>
  979. <!--nokiaS80-run-->
  980. <target name="nokiaS80-run" if="nokiaS80-platform.trigger">
  981. <mkdir dir="${platform.home}/epoc32/wins/c/PP_Applications"/>
  982. <mkdir dir="${platform.home}/epoc32/wins/c/logs/j9vm"/>
  983. <taskdef name="nokiaexec" classname="org.netbeans.modules.j2me.cdc.project.nokiaS80.NokiaEmulatorExecTask" classpath="${libs.nokiaS80-ant-utils.classpath}"/>
  984. <nokiaexec jvmargs="${run.jvmargs}" mainclass="${main.class}" args="${application.args}" home="${platform.home}" device="${platform.device}" xlet="${main.class.xlet}" applet="${main.class.applet}">
  985. <fileset dir="${dist.dir}">
  986. <exclude name="javadoc/**"/>
  987. </fileset>
  988. </nokiaexec>
  989. </target>
  990. <!--nsicom-run-->
  991. <target name="nsicom-run" if="nsicom-platform.trigger">
  992. <nsicomExecDeploy home="${platform.home}" mainclass="${main.class}" args="${application.args}" jvmargs="${run.jvmargs}" device="${platform.device}" profile="${platform.profile}" xlet="${main.class.xlet}" applet="${main.class.applet}" verbose="${nsicom.application.runverbose}" hostip="${nsicom.application.monitorhost}" runondevice="${nsicom.application.runremote}" remotevmlocation="${nsicom.remotevm.location}" remoteDataLocation="${nsicom.remoteapp.location}">
  993. <fileset dir="${dist.dir}">
  994. <exclude name="javadoc/**"/>
  995. </fileset>
  996. </nsicomExecDeploy>
  997. </target>
  998. <!--cdc-hi-run-->
  999. <target name="-pre-cdc-hi-run" if="cdc-hi-platform.trigger"/>
  1000. <target name="-cdc-hi-run" if="cdc-hi-platform.trigger">
  1001. <exec executable="${platform.home}/bin/emulator">
  1002. <arg value="-cp"/>
  1003. <arg value="${basedir}/${dist.dir}/${dist.jar}"/>
  1004. <arg value="-Xdevice:${platform.device}"/>
  1005. <arg value="${run.cmd.options}"/>
  1006. <arg value="-Xmain:${main.class}"/>
  1007. <arg value="${application.args}"/>
  1008. </exec>
  1009. </target>
  1010. <target name="-post-cdc-hi-run" if="cdc-hi-platform.trigger"/>
  1011. <target name="cdc-hi-run" if="cdc-hi-platform.trigger" depends="-pre-cdc-hi-run, -cdc-hi-run, -post-cdc-hi-run"/>
  1012. <!--open-profiler-->
  1013. <target name="profiler.check">
  1014. <condition property="profiler.allowed">
  1015. <and>
  1016. <not>
  1017. <isset property="bdj-platform.trigger"/>
  1018. </not>
  1019. <isset property="netbeans.home"/>
  1020. <isset property="is.mesdk_profiler"/>
  1021. </and>
  1022. </condition>
  1023. </target>
  1024. <target name="open-profiler" description="Open profiler snapshot" depends="profiler.check" if="profiler.allowed">
  1025. <openprofiler device="${platform.device}"/>
  1026. </target>
  1027. <!--run-->
  1028. <target name="pre-run"/>
  1029. <target name="run" depends="jar,pre-run,open-netmon,cldc-run,ricoh-run,semc-run,savaje-run,sjmc-run,ojec-run,nokiaS80-run,nsicom-run,cdc-hi-run,open-profiler" description="Run MIDlet suite."/>
  1030. <target name="run-no-build" depends="init,pre-run,open-netmon,cldc-run,ricoh-run,semc-run,savaje-run,sjmc-run,ojec-run,nokiaS80-run,nsicom-run,cdc-hi-run,open-profiler" description="Quick Run already built MIDlet suite."/>
  1031. <!--cldc-debug-->
  1032. <target name="cldc-debug" if="cldc-platform.trigger">
  1033. <parallel>
  1034. <nb-run debug="true" debugsuspend="true" debugserver="true" debuggeraddressproperty="jpda.port" platformtype="${platform.type}" platformhome="${platform.home}" device="${platform.device}" jadfile="${dist.dir}/${dist.jad}" jadurl="${dist.jad.url}" jarfile="${dist.dir}/${dist.jar}" execmethod="${run.method}" securitydomain="${evaluated.run.security.domain}" commandline="${platform.debugcommandline}" classpath="${platform.bootclasspath}:${dist.dir}/${dist.jar}" cmdoptions="${run.cmd.options}"/>
  1035. <sequential>
  1036. <sleep seconds="5"/>
  1037. <antcall target="nbdebug"/>
  1038. </sequential>
  1039. </parallel>
  1040. </target>
  1041. <!--ricoh-debug-->
  1042. <target name="ricoh-debug" if="ricoh-platform.trigger">
  1043. <copy todir="${platform.home}/mnt/sd3/sdk/dsdk/dist/${ricoh.application.uid}" overwrite="true">
  1044. <fileset dir="${dist.dir}">
  1045. <patternset refid="deployment.patternset"/>
  1046. </fileset>
  1047. <flattenmapper/>
  1048. </copy>
  1049. <parallel>
  1050. <ant antfile="${platform.home}/startemulator_debug.xml" target="debug_emulator" dir="${platform.home}">
  1051. <property name="emulator.skin" value="WVGA.xml"/>
  1052. <property name="emulator.autolaunchid" value="${ricoh.application.uid}"/>
  1053. </ant>
  1054. <sequential>
  1055. <sleep seconds="5"/>
  1056. <property name="jpda.port" value="8000"/>
  1057. <property name="debug.period" value="3000"/>
  1058. <antcall target="nbdebug" inheritall="true" inheritrefs="true"/>
  1059. </sequential>
  1060. </parallel>
  1061. </target>
  1062. <!--semc-debug-->
  1063. <!--semc-build-j9-debug-->
  1064. <target name="semc-build-j9-debug" if="semc-platform.trigger">
  1065. <fail message="Main class is not set!">
  1066. <condition>
  1067. <equals arg1="${main.class}" arg2=""/>
  1068. </condition>
  1069. </fail>
  1070. <j9builder jvmargs="${run.jvmargs} -Xrunjdwp:server=n,address=${jpda.port}" mainclass="${main.class}" args="${application.args}" platform="${platform.type}" home="${platform.home}" dist="${j9.dist}" id="${semc.application.uid}" xlet="${main.class.xlet}" applet="${main.class.applet}" jarname="${dist.jar}"/>
  1071. </target>
  1072. <target name="semc-debug-start" if="semc-platform.trigger">
  1073. <nbjpdastart transport="dt_socket" addressproperty="jpda.port" name="${main.class}">
  1074. <classpath>
  1075. <path path="${build.classes.dir}"/>
  1076. </classpath>
  1077. <bootclasspath>
  1078. <path path="${platform.bootclasspath}"/>
  1079. </bootclasspath>
  1080. </nbjpdastart>
  1081. </target>
  1082. <target name="semc-debug" depends="semc-debug-start,semc-build-j9-debug,semc-icon-assembly,semc-ppro-emulator,semc-do-run" if="semc-platform.trigger"/>
  1083. <!--savaje-debug-->
  1084. <target name="savaje-debug" if="savaje-platform.trigger">
  1085. <parallel>
  1086. <sunEmulatorExec home="${platform.home}" mainclass="${main.class}" args="${application.args}" jvmargs="${run.cmd.options}" device="${platform.device}" profile="${platform.profile}" xlet="${main.class.xlet}" applet="${main.class.applet}" debug="true" debuggeraddressproperty="jpda.port">
  1087. <fileset dir="${dist.dir}">
  1088. <exclude name="javadoc/**"/>
  1089. </fileset>
  1090. </sunEmulatorExec>
  1091. <sequential>
  1092. <sleep seconds="5"/>
  1093. <antcall target="nbdebug"/>
  1094. </sequential>
  1095. </parallel>
  1096. </target>
  1097. <!--sjmc-debug-->
  1098. <target name="sjmc-debug" if="sjmc-platform.trigger">
  1099. <taskdef name="sjmcEmulatorExec" classname="org.netbeans.modules.j2me.cdc.project.sjmc.SJMCToolkitEmulatorExecTask" classpath="${libs.sjmc-ant-utils.classpath}"/>
  1100. <parallel>
  1101. <sjmcEmulatorExec home="${platform.home}" mainclass="${main.class}" args="${application.args}" jvmargs="${run.cmd.options}" device="${platform.device}" profile="${platform.profile}" xlet="${main.class.xlet}" applet="${main.class.applet}" debug="true" debuggeraddressproperty="jpda.port">
  1102. <fileset dir="${dist.dir}">
  1103. <exclude name="javadoc/**"/>
  1104. </fileset>
  1105. </sjmcEmulatorExec>
  1106. <sequential>
  1107. <sleep seconds="1"/>
  1108. <antcall target="nbdebug"/>
  1109. </sequential>
  1110. </parallel>
  1111. </target>
  1112. <!--ojec-debug-->
  1113. <target name="ojec-debug" if="ojec-platform.trigger">
  1114. <taskdef name="ojecEmulatorExec" classname="org.netbeans.modules.j2me.cdc.project.ojec.OJECToolkitEmulatorExecTask" classpath="${libs.ojec-ant-utils.classpath}"/>
  1115. <parallel>
  1116. <ojecEmulatorExec home="${platform.home}" mainclass="${main.class}" args="${application.args}" jvmargs="${run.cmd.options}" device="${platform.device}" profile="${platform.profile}" xlet="${main.class.xlet}" applet="${main.class.applet}" debug="true" debuggeraddressproperty="jpda.port">
  1117. <fileset dir="${dist.dir}">
  1118. <exclude name="javadoc/**"/>
  1119. </fileset>
  1120. </ojecEmulatorExec>
  1121. <sequential>
  1122. <sleep seconds="1"/>
  1123. <antcall target="nbdebug"/>
  1124. </sequential>
  1125. </parallel>
  1126. </target>
  1127. <!--cdc-hi-debug-->
  1128. <target name="-pre-cdc-hi-debug" if="cdc-hi-platform.trigger"/>
  1129. <target name="-cdc-hi-debug" if="cdc-hi-platform.trigger">
  1130. <taskdef name="freePortRetriever" classname="org.netbeans.modules.j2me.cdc.project.savaje.FreePortRetriever" classpath="${libs.savaje-ant-utils.classpath}"/>
  1131. <freePortRetriever debuggerPortProperty="active.debug.port"/>
  1132. <parallel>
  1133. <exec executable="${platform.home}/bin/emulator">
  1134. <arg value="-cp"/>
  1135. <arg value="${basedir}/${dist.dir}/${dist.jar}"/>
  1136. <arg value="-Xdevice:${platform.device}"/>
  1137. <arg value="-Xmain:${main.class}"/>
  1138. <arg value="-Xrunjdwp:transport=dt_socket,address=${active.debug.port},server=y,suspend=y"/>
  1139. <arg value="-Xdebug"/>
  1140. </exec>
  1141. <property name="debug.delay" value="500"/>
  1142. <nb-mobility-debug address="${active.debug.port}" name="${app.codename}" delay="${debug.delay}" timeout="${debug.timeout}" period="2000"/>
  1143. </parallel>
  1144. </target>
  1145. <target name="-post-cdc-hi-debug" if="cdc-hi-platform.trigger"/>
  1146. <target name="cdc-hi-debug" if="cdc-hi-platform.trigger" depends="-pre-cdc-hi-debug, -cdc-hi-debug, -post-cdc-hi-debug"/>
  1147. <!--nokiaS80-debug-->
  1148. <target name="nokiaS80-debug" if="nokiaS80-platform.trigger">
  1149. <taskdef name="j9builder" classname="org.netbeans.modules.j2me.cdc.project.J9Builder" classpath="${libs.cdc-ant-utils.classpath}"/>
  1150. <j9builder jvmargs="${run.jvmargs} -Xrunjdwp:server=n,address=${jpda.port}" mainclass="${main.class}" args="${application.args}" platform="${platform.type}" home="${platform.home}" dist="${j9.dist}" id="NOKIA" xlet="${main.class.xlet}" applet="${main.class.applet}" jarname="${dist.jar}"/>
  1151. <mkdir dir="${platform.home}/epoc32/wins/c/logs/j9vm"/>
  1152. <taskdef name="nokiaexec" classname="org.netbeans.modules.j2me.cdc.project.nokiaS80.NokiaEmulatorExecTask" classpath="${libs.nokiaS80-ant-utils.classpath}"/>
  1153. <parallel>
  1154. <nokiaexec debug="true" debuggeraddressproperty="jpda.port" jvmargs="${run.jvmargs}" mainclass="${main.class}" args="${application.args}" home="${platform.home}" device="${platform.device}" xlet="${main.class.xlet}" applet="${main.class.applet}">
  1155. <fileset dir="${dist.dir}">
  1156. <exclude name="javadoc/**"/>
  1157. </fileset>
  1158. </nokiaexec>
  1159. <sequential>
  1160. <sleep seconds="10"/>
  1161. <antcall target="nbdebug"/>
  1162. </sequential>
  1163. </parallel>
  1164. </target>
  1165. <!--nsicom-debug-->
  1166. <target name="nsicom-debug" if="nsicom-platform.trigger">
  1167. <fail message="Debugging is not supported in this NSIcom VM version. Use monitoring facility instead!"/>
  1168. </target>
  1169. <!--debug-->
  1170. <target name="remove-timestamp">
  1171. <delete file="$/.timestamp"/>
  1172. </target>
  1173. <target name="pre-debug"/>
  1174. <target name="debug" description="Debug project." depends="clean,jar,remove-timestamp,pre-debug,cldc-debug,ricoh-debug,semc-debug,savaje-debug,sjmc-debug,ojec-debug,cdc-hi-debug,nokiaS80-debug,nsicom-debug"/>
  1175. <target name="nbdebug" description="Start NetBeans debugger" if="netbeans.home">
  1176. <property name="debug.delay" value="5000"/>
  1177. <nb-mobility-debug address="${jpda.port}" name="${app.codename}" delay="${debug.delay}" timeout="${debug.timeout}" period="2000"/>
  1178. </target>
  1179. <target name="debug-run-base" depends="cldc-debug-run,cdc-hi-debug-run"/>
  1180. <target name="-pre-cldc-debug-run" if="cldc-platform.trigger"/>
  1181. <target name="-cldc-debug-run" depends="init,jar" if="cldc-platform.trigger">
  1182. <echo> Starting emulator with port number ${active.debug.port} </echo>
  1183. <exec executable="${platform.home}/bin/emulator">
  1184. <arg value="-Xdescriptor:${basedir}/${dist.dir}/${dist.jad}"/>
  1185. <arg value="-Xdevice:${platform.device}"/>
  1186. <arg value="-Xdebug"/>
  1187. <arg value="-Xrunjdwp:transport=dt_socket,address=${active.debug.port},server=y,suspend=y"/>
  1188. </exec>
  1189. </target>
  1190. <target name="-post-cldc-debug-run" if="cldc-platform.trigger"/>
  1191. <target name="cldc-debug-run" if="cldc-platform.trigger" depends="-pre-cldc-debug-run, -cldc-debug-run, -post-cldc-debug-run"/>
  1192. <target name="-pre-cdc-hi-debug-run" if="cdc-hi-platform.trigger"/>
  1193. <target name="-cdc-hi-debug-run" depends="init,jar" if="cdc-hi-platform.trigger">
  1194. <echo> Starting emulator with port number ${active.debug.port} </echo>
  1195. <exec executable="${platform.home}/bin/emulator">
  1196. <arg value="-cp"/>
  1197. <arg value="${basedir}/${dist.dir}/${dist.jar}"/>
  1198. <arg value="-Xdevice:${platform.device}"/>
  1199. <arg value="-Xmain:${main.class}"/>
  1200. <arg value="-Xdebug"/>
  1201. <arg value="-Xrunjdwp:transport=dt_socket,address=${active.debug.port},server=y,suspend=y"/>
  1202. </exec>
  1203. </target>
  1204. <target name="-post-cdc-hi-debug-run" if="cdc-hi-platform.trigger"/>
  1205. <target name="cdc-hi-debug-run" if="cdc-hi-platform.trigger" depends="-pre-cdc-hi-debug-run, -cdc-hi-debug-run, -post-cdc-hi-debug-run"/>
  1206. <!--javadoc-->
  1207. <target name="browse-javadoc" if="netbeans.home" unless="no.javadoc.preview">
  1208. <nbbrowse file="${dist.javadoc.dir}/index.html"/>
  1209. </target>
  1210. <target name="javadoc" depends="preprocess">
  1211. <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
  1212. <mkdir dir="${dist.javadoc.dir}"/>
  1213. <javadoc source="${javac.source}" destdir="${dist.javadoc.dir}" bootclasspath="${platform.bootclasspath}" notree="${javadoc.notree}" use="${javadoc.use}" nonavbar="${javadoc.nonavbar}" noindex="${javadoc.noindex}" splitindex="${javadoc.splitindex}" author="${javadoc.author}" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}" private="${javadoc.private}" encoding="${javac.encoding}" docencoding="${javac.encoding}" charset="${javac.encoding}">
  1214. <classpath>
  1215. <path path="${libs.classpath}"/>
  1216. </classpath>
  1217. <sourcepath>
  1218. <pathelement location="${buildsystem.baton}"/>
  1219. </sourcepath>
  1220. </javadoc>
  1221. <antcall target="browse-javadoc"/>
  1222. </target>
  1223. <!--clean and build-->
  1224. <target name="rebuild" depends="clean,build" description="Rebuild the application."/>
  1225. <target name="clean-timestamp">
  1226. <delete file="${build.dir}/.timestamp"/>
  1227. </target>
  1228. <target name="clean-preprocessed">
  1229. <delete dir="${preprocessed.dir}"/>
  1230. </target>
  1231. <target name="clean-classes">
  1232. <delete dir="${build.classes.dir}"/>
  1233. </target>
  1234. <target name="clean-obfuscated">
  1235. <delete file="${obfuscator.srcjar}"/>
  1236. <delete file="${obfuscator.destjar}"/>
  1237. <delete dir="${obfuscated.classes.dir}"/>
  1238. </target>
  1239. <target name="clean-preverified">
  1240. <delete dir="${preverify.sources.dir}"/>
  1241. <delete dir="${preverify.classes.dir}"/>
  1242. </target>
  1243. <target name="clean-manifest" if="manifest.build.file">
  1244. <delete file="${manifest.build.file}"/>
  1245. </target>
  1246. <target name="clean-jar">
  1247. <delete file="${dist.dir}/${dist.jar}"/>
  1248. </target>
  1249. <target name="clean-jad">
  1250. <delete file="${dist.dir}/${dist.jad}"/>
  1251. </target>
  1252. <target name="clean-javadoc">
  1253. <delete dir="${dist.javadoc.dir}"/>
  1254. </target>
  1255. <target name="clean-j9" if="j9.dist">
  1256. <delete file="${j9.dist}"/>
  1257. </target>
  1258. <target name="clean-ricoh" if="ricoh-platform.trigger">
  1259. <delete dir="${platform.home}/mnt/sd3/sdk/dsdk/dist/${ricoh.application.uid}"/>
  1260. <delete dir="${build.dir}/dalp"/>
  1261. <delete file="${dist.dir}/${application.name}.dalp"/>
  1262. <delete dir="${dist.dir}/lib"/>
  1263. </target>
  1264. <target name="clean-semc" if="semc-platform.trigger">
  1265. <delete dir="${dist.dir}" includes="*.sis,*.SIS"/>
  1266. <delete dir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/win32/PProLauncher${semc.application.uid}"/>
  1267. <delete dir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}"/>
  1268. <delete file="${platform.home}/epoc32/release/winscw/udeb/PProLauncher${semc.application.uid}.exe"/>
  1269. <delete file="${platform.home}/epoc32/release/winscw/udeb/z/Resource/Apps/PProLauncher${semc.application.uid}.rsc"/>
  1270. <delete file="${platform.home}/epoc32/release/winscw/udeb/z/private/10003a3f/apps/PProLauncher${semc.application.uid}_reg.rsc"/>
  1271. <delete file="${platform.home}/epoc32/release/winscw/udeb/z/Resource/Apps/PProLauncher${semc.application.uid}_loc.R01"/>
  1272. <delete file="${platform.home}/epoc32/release/winscw/udeb/z/Resource/Apps/${semc.application.uid}.mbm"/>
  1273. <delete file="${platform.home}/epoc32/data/Z/private/10003a3f/apps/PProLauncher${semc.application.uid}_reg.rsc"/>
  1274. <delete file="${platform.home}/epoc32/data/Z/Resource/Apps/PProLauncher${semc.application.uid}.rsc"/>
  1275. <delete file="${platform.home}/epoc32/data/Z/Resource/Apps/PProLauncher${semc.application.uid}_loc.R01"/>
  1276. <delete dir="${platform.home}/epoc32/winscw/C/private/${semc.application.uid}"/>
  1277. </target>
  1278. <target name="clean-savaje" if="savaje-platform.trigger">
  1279. <delete dir="${build.dir}/jnlp"/>
  1280. <delete file="${dist.dir}/bundle.jnlp"/>
  1281. <delete file="${dist.dir}/bundle.policy"/>
  1282. <delete dir="${dist.dir}/lib"/>
  1283. </target>
  1284. <target name="clean-sjmc" if="sjmc-platform.trigger">
  1285. <delete dir="${dist.dir}/lib"/>
  1286. </target>
  1287. <target name="clean-ojec" if="ojec-platform.trigger">
  1288. <delete dir="${dist.dir}/lib"/>
  1289. </target>
  1290. <!--clean-->
  1291. <target name="pre-clean"/>
  1292. <target name="post-clean"/>
  1293. <target name="-clean-configuration">
  1294. <condition property="can.clean.config.completely">
  1295. <not>
  1296. <equals arg1="${config.active}" arg2="" trim="true"/>
  1297. </not>
  1298. </condition>
  1299. </target>
  1300. <target name="-clean-configuration-root" depends="-clean-configuration" if="can.clean.config.completely">
  1301. <delete dir="${build.dir}"/>
  1302. <delete dir="${dist.dir}"/>
  1303. <available property="dist.dir.exists" file="dist"/>
  1304. <condition property="dist.dir.empty">
  1305. <and>
  1306. <isset property="dist.dir.exists"/>
  1307. <resourcecount count="0">
  1308. <fileset dir="dist"/>
  1309. </resourcecount>
  1310. </and>
  1311. </condition>
  1312. </target>
  1313. <target name="-clean-default-configuration-root" depends="-clean-configuration" unless="can.clean.config.completely">
  1314. <tempfile deleteonexit="true" property="tmp.exclude" prefix="convert"/>
  1315. <echo file="${tmp.exclude}">${all.configurations}</echo>
  1316. <replaceregexp file="${tmp.exclude}" match="(.)(,|$)" replace="\1/**\2" flags="g"/>
  1317. <loadfile srcfile="${tmp.exclude}" property="exclude.pattern"/>
  1318. <delete file="${tmp.exclude}"/>
  1319. <delete quiet="true">
  1320. <fileset dir="${build.dir}" excludes="${exclude.pattern}"/>
  1321. </delete>
  1322. <delete quiet="true">
  1323. <fileset dir="${dist.dir}" excludes="${exclude.pattern}"/>
  1324. </delete>
  1325. <delete quiet="true">
  1326. <fileset dir="${dist.dir}/lib"/>
  1327. </delete>
  1328. <available property="dist.dir.exists" file="dist"/>
  1329. <condition property="dist.dir.empty">
  1330. <and>
  1331. <isset property="dist.dir.exists"/>
  1332. <resourcecount count="0">
  1333. <fileset dir="dist"/>
  1334. </resourcecount>
  1335. </and>
  1336. </condition>
  1337. </target>
  1338. <target name="-clean-completely" if="dist.dir.empty">
  1339. <delete dir="build" quiet="true"/>
  1340. <delete dir="dist" quiet="true"/>
  1341. </target>
  1342. <target name="do-clean" depends="pre-clean,clean-timestamp,clean-preprocessed,clean-classes,clean-obfuscated,clean-preverified,clean-manifest,clean-jar,clean-jad,clean-javadoc,clean-j9,clean-ricoh,clean-semc,clean-savaje,clean-sjmc,clean-ojec,-clean-default-configuration-root,-clean-configuration-root,-clean-completely,post-clean"/>
  1343. <target name="clean" depends="conditional-clean" if="no.clean.before.build" description="Clean build products.">
  1344. <antcall target="do-clean" inheritall="true" inheritrefs="true"/>
  1345. </target>
  1346. <!--deploy-->
  1347. <target name="pre-deploy"/>
  1348. <target name="do-deploy" if="deployment.method" unless="skip.deployment">
  1349. <fail unless="deployment.scriptfile">Property deployment.${deployment.method}.scriptfile not set. The property should point to an Ant script providing ${deployment.method} deployment.</fail>
  1350. <ant antfile="${deployment.scriptfile}" inheritall="true" inheritrefs="true"/>
  1351. <antcall target="post-deploy" inheritall="true" inheritrefs="true"/>
  1352. </target>
  1353. <target name="post-deploy"/>
  1354. <target name="deploy" depends="build,pre-deploy,do-deploy,post-deploy"/>
  1355. <!--for-all-configs targets-->
  1356. <target name="for-all-configs" depends="load-properties">
  1357. <fail unless="libs.ant-contrib.classpath">Classpath to Ant Contrib library (libs.ant-contrib.classpath property) is not set.</fail>
  1358. <property name="selected.configurations" value="${all.configurations}"/>
  1359. <taskdef resource="net/sf/antcontrib/antlib.xml">
  1360. <classpath>
  1361. <pathelement path="${libs.ant-contrib.classpath}"/>
  1362. </classpath>
  1363. </taskdef>
  1364. <for list="${selected.configurations}" param="cfg" keepgoing="true" trim="true">
  1365. <sequential>
  1366. <echo>Active project configuration: @{cfg}</echo>
  1367. <antcall target="${target.to.call}" inheritall="false" inheritrefs="false">
  1368. <param name="config.active" value="@{cfg}"/>
  1369. <propertyset>
  1370. <propertyref name="no.deps"/>
  1371. </propertyset>
  1372. </antcall>
  1373. <property name="no.deps" value="true"/>
  1374. </sequential>
  1375. </for>
  1376. </target>
  1377. <target name="jar-all">
  1378. <antcall target="for-all-configs">
  1379. <param name="target.to.call" value="jar"/>
  1380. </antcall>
  1381. </target>
  1382. <target name="build-all">
  1383. <antcall target="for-all-configs">
  1384. <param name="target.to.call" value="build"/>
  1385. </antcall>
  1386. </target>
  1387. <target name="javadoc-all">
  1388. <antcall target="for-all-configs">
  1389. <param name="target.to.call" value="javadoc"/>
  1390. </antcall>
  1391. </target>
  1392. <target name="deploy-all">
  1393. <antcall target="for-all-configs">
  1394. <param name="target.to.call" value="deploy"/>
  1395. </antcall>
  1396. </target>
  1397. <target name="rebuild-all">
  1398. <antcall target="for-all-configs">
  1399. <param name="target.to.call" value="rebuild"/>
  1400. </antcall>
  1401. </target>
  1402. <target name="clean-all">
  1403. <property file="nbproject/project.properties"/>
  1404. <fail unless="build.root.dir">Property build.root.dir is not set. By default its value should be \"build\".</fail>
  1405. <fail unless="dist.root.dir">Property dist.root.dir is not set. By default its value should be \"dist\".</fail>
  1406. <antcall target="for-all-configs">
  1407. <param name="target.to.call" value="clean"/>
  1408. </antcall>
  1409. </target>
  1410. </project>