Statistics
| Revision:

svn-gvsig-desktop / branches / Mobile_Compatible_Hito_1 / libProjectionDummy / nbproject / build-impl.xml @ 21822

History | View | Annotate | Download (66.7 KB)

1
<?xml version="1.0" encoding="UTF-8"?>
2
<!-- *** GENERATED FROM project.xml - DO NOT EDIT *** -->
3
<project name="libProjectionEmpty-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
        <nb-overrideproperty name="buildsystem.baton" value="${src.dir}"/>
100
    </target>
101
    <!--cldc-init-->
102
    <target name="cldc-pre-init">
103
        <condition property="cldc-platform.trigger">
104
            <equals arg1="CLDC" arg2="${platform.trigger}" casesensitive="false"/>
105
        </condition>
106
    </target>
107
    <target name="cldc-init" depends="cldc-pre-init" if="cldc-platform.trigger">
108
        <property name="preverify.sources.dir" location="${build.dir}/preverifysrc"/>
109
        <property name="manifest.build.file" location="${build.dir}/manifest.mf"/>
110
        <property name="platform.device" value=""/>
111
        <property name="dist.jad.url" value="file://"/>
112
        <property name="run.cmd.options" value=""/>
113
        <condition property="evaluated.run.security.domain" value="">
114
            <isfalse value="${run.use.security.domain}"/>
115
        </condition>
116
        <property name="evaluated.run.security.domain" value="${run.security.domain}"/>
117
        <condition property="override.jarurl.trigger">
118
            <and>
119
                <istrue value="${cldc-platform.trigger}"/>
120
                <istrue value="${deployment.override.jarurl}"/>
121
            </and>
122
        </condition>
123
        <property name="deployment.jad" location="${dist.dir}/${dist.jad}"/>
124
        <property name="deployment.jar" location="${dist.dir}/${dist.jar}"/>
125
        <property name="deployment.dir" location="${dist.dir}"/>
126
        <patternset id="deployment.patternset">
127
            <include name="${dist.jad}"/>
128
            <include name="${dist.jar}"/>
129
        </patternset>
130
    </target>
131
    <!--cdc-init-->
132
    <target name="cdc-init">
133
        <condition property="cdc-platform.trigger">
134
            <equals arg1="CDC" arg2="${platform.trigger}" casesensitive="false"/>
135
        </condition>
136
        <available file="${manifest.file}" property="manifest.available"/>
137
        <condition property="main.class.applet">
138
            <equals arg1="${main.class.class}" arg2="applet" casesensitive="false"/>
139
        </condition>
140
        <condition property="main.class.xlet">
141
            <equals arg1="${main.class.class}" arg2="xlet" casesensitive="false"/>
142
        </condition>
143
        <condition property="manifest.available+main.class+fat.jar">
144
            <and>
145
                <isset property="manifest.available"/>
146
                <isset property="main.class"/>
147
                <istrue value="${platform.fat.jar}"/>
148
                <not>
149
                    <equals arg1="${main.class}" arg2="" trim="true"/>
150
                </not>
151
            </and>
152
        </condition>
153
        <condition property="manifest.available+main.class">
154
            <and>
155
                <isset property="manifest.available"/>
156
                <isset property="main.class"/>
157
                <isfalse value="${platform.fat.jar}"/>
158
                <not>
159
                    <equals arg1="${main.class}" arg2="" trim="true"/>
160
                </not>
161
            </and>
162
        </condition>
163
        <condition property="application.version.invalid" value="true">
164
            <equals arg1="${deployment.number}" arg2="" trim="true"/>
165
        </condition>
166
        <fail if="application.version.invalid" message="Property deployment.number must not be empty and must contain version in format %d.%d.%d!"/>
167
    </target>
168
    <!--ricoh-init-->
169
    <target name="ricoh-pre-init" if="cdc-platform.trigger">
170
        <condition property="ricoh-platform.trigger">
171
            <equals arg1="ricoh" arg2="${platform.type}" casesensitive="false"/>
172
        </condition>
173
    </target>
174
    <target name="ricoh-init" depends="ricoh-pre-init" if="ricoh-platform.trigger">
175
        <available property="jcifs" classname="jcifs.smb.SmbFile" classpath="${libs.RicohAntTools.classpath}"/>
176
        <condition property="no.vendor.name" value="true">
177
            <equals arg1="${application.vendor}" arg2="" trim="true"/>
178
        </condition>
179
        <condition property="ricoh.dalp.install.mode" value="auto" else="manual">
180
            <istrue value="${ricoh.dalp.install.mode.auto}"/>
181
        </condition>
182
        <condition property="ricoh.dalp.display-mode.type" value="COLOR" else="MONO">
183
            <istrue value="${ricoh.dalp.display-mode.color}"/>
184
        </condition>
185
        <property name="xml.dir" value="${build.dir}/dalp"/>
186
        <property name="xlet.dalp" value="${application.name}.dalp"/>
187
        <property name="xlet.dalp.name-only" value="${application.name}.dalp"/>
188
        <property name="deploy.dir" value="${dist.dir}/deploy"/>
189
        <property name="rideploy.zip" value="${dist.dir}/${application.name}.zip"/>
190
        <property name="ricoh.dalp.is-managed" value="true"/>
191
        <property name="ricoh.dalp.information.is-icon-used" value="true"/>
192
        <property name="ricoh.platform.target.version" value="2.0"/>
193
        <property name="ricoh.dalp.version" value="${deployment.number}"/>
194
        <property name="ricoh.dalp.application-desc.visible" value="true"/>
195
        <property name="ricoh.dalp.install.destination" value="hdd"/>
196
        <property name="ricoh.dalp.install.work-dir" value="hdd"/>
197
        <property name="ricoh.dalp.information.abbreviation" value="RICOH"/>
198
        <taskdef name="taskIf" classname="ricoh.ant.ConditionalTask" classpath="${libs.ricoh-ant-utils.classpath}"/>
199
        <taskdef name="dalp" classname="org.netbeans.modules.j2me.cdc.project.ricoh.DalpBuilder" classpath="${libs.ricoh-ant-utils.classpath}"/>
200
        <property name="dalp.dist" value="${build.dir}/dalp/${application.name}.dalp"/>
201
        <property name="deployment.dir" location="${dist.dir}"/>
202
        <patternset id="deployment.patternset">
203
            <include name="${dist.jar}"/>
204
            <include name="${application.name}.dalp"/>
205
            <include name="lib/*"/>
206
        </patternset>
207
    </target>
208
    <!--semc-init-->
209
    <target name="semc-pre-init" if="cdc-platform.trigger">
210
        <condition property="semc-platform.trigger">
211
            <equals arg1="semc" arg2="${platform.type}" casesensitive="false"/>
212
        </condition>
213
    </target>
214
    <target name="semc-init" depends="semc-pre-init" if="semc-platform.trigger">
215
        <condition property="semc.icon.invalid" value="true">
216
            <or>
217
                <contains string="${semc.application.icon}" substring="$${"/>
218
                <equals arg1="${semc.application.icon}" arg2="" trim="true"/>
219
            </or>
220
        </condition>
221
        <condition property="no.certificateorkey" value="true">
222
            <or>
223
                <isset property="no.application.uid"/>
224
                <equals arg1="${semc.certificate.path}" arg2="" trim="true"/>
225
                <contains string="${semc.certificate.path}" substring="$${semc.certificate.path"/>
226
                <equals arg1="${semc.private.key.path}" arg2="" trim="true"/>
227
                <contains string="${semc.private.key.path}" substring="$${semc.private.key.path"/>
228
            </or>
229
        </condition>
230
        <property name="j9.dist" location="${build.dir}/j9/${semc.application.uid}.j9"/>
231
        <taskdef resource="org/netbeans/modules/j2me/cdc/project/defs.properties">
232
            <classpath>
233
                <pathelement path="${libs.cdc-ant-utils.classpath}"/>
234
            </classpath>
235
        </taskdef>
236
        <taskdef resource="org/netbeans/modules/j2me/cdc/project/semc/defs.properties">
237
            <classpath>
238
                <pathelement path="${libs.semc-ant-utils.classpath}"/>
239
            </classpath>
240
        </taskdef>
241
        <property name="deployment.dir" location="${dist.dir}"/>
242
        <patternset id="deployment.patternset">
243
            <include name="*.sis"/>
244
            <include name="*.SIS"/>
245
        </patternset>
246
    </target>
247
    <!--savaje-init-->
248
    <target name="savaje-pre-init" if="cdc-platform.trigger">
249
        <condition property="savaje-platform.trigger">
250
            <equals arg1="savaje" arg2="${platform.type}" casesensitive="false"/>
251
        </condition>
252
    </target>
253
    <target name="savaje-init" depends="savaje-pre-init" if="savaje-platform.trigger">
254
        <property name="savaje.application.uid" value="TBD"/>
255
        <condition property="savaje.bundle.base.invalid" value="true">
256
            <or>
257
                <equals arg1="${savaje.bundle.base}" arg2="" trim="true"/>
258
                <contains string="${savaje.bundle.base}" substring="$${savaje.bundle.base"/>
259
            </or>
260
        </condition>
261
        <condition property="savaje.unsupported.main" value="true">
262
            <or>
263
                <equals arg1="${main.class.applet}" arg2="true"/>
264
            </or>
265
        </condition>
266
        <condition property="savaje.icon.invalid" value="true">
267
            <or>
268
                <isset property="no.application.uid"/>
269
                <contains string="${savaje.application.icon}" substring="$${"/>
270
                <equals arg1="${savaje.application.icon}" arg2="" trim="true"/>
271
            </or>
272
        </condition>
273
        <property name="jnlp.dist" value="${build.dir}/jnlp/bundle.jnlp"/>
274
        <property name="deployment.dir" location="${dist.dir}"/>
275
        <patternset id="deployment.patternset">
276
            <include name="bundle.jnlp"/>
277
            <include name="bundle.policy"/>
278
            <include name="lib/*"/>
279
        </patternset>
280
    </target>
281
    <!--nokiaS80-init-->
282
    <target name="nokiaS80-pre-init" if="cdc-platform.trigger">
283
        <condition property="nokiaS80-platform.trigger">
284
            <equals arg1="nokiaS80" arg2="${platform.type}" casesensitive="false"/>
285
        </condition>
286
    </target>
287
    <target name="nokiaS80-init" depends="nokiaS80-pre-init" if="nokiaS80-platform.trigger">
288
        <property name="j9.dist" location="${build.dir}/j9/NOKIA.j9"/>
289
        <property name="manifest.build.file" location="${build.dir}/manifest.mf"/>
290
        <condition property="nokia.icon.invalid">
291
            <or>
292
                <contains string="${nokiaS80.application.icon}" substring="$${"/>
293
                <equals arg1="${nokiaS80.application.icon}" arg2="" trim="true"/>
294
            </or>
295
        </condition>
296
        <property name="deployment.dir" location="${dist.dir}"/>
297
        <patternset id="deployment.patternset">
298
            <include name="${dist.jar}"/>
299
        </patternset>
300
    </target>
301
    <!--nsicom-init-->
302
    <target name="nsicom-pre-init" if="cdc-platform.trigger">
303
        <condition property="nsicom-platform.trigger">
304
            <equals arg1="nsicom" arg2="${platform.type}" casesensitive="false"/>
305
        </condition>
306
    </target>
307
    <target name="nsicom-init" depends="nsicom-pre-init" if="nsicom-platform.trigger">
308
        <property name="deployment.dir" location="${dist.dir}"/>
309
        <patternset id="deployment.patternset">
310
            <include name="${dist.jar}"/>
311
        </patternset>
312
    </target>
313
    <!--init-->
314
    <target name="pre-init"/>
315
    <target name="post-init"/>
316
    <target name="init" depends="pre-init,load-properties,basic-init,cldc-init,cdc-init,ricoh-init,semc-init,savaje-init,nokiaS80-init,nsicom-init,post-init"/>
317
    <!--conditional clean-->
318
    <target name="conditional-clean-init">
319
        <uptodate property="no.clean.before.build" targetfile="${build.dir}/.timestamp">
320
            <srcfiles dir="nbproject">
321
                <include name="project.properties"/>
322
                <include name="build-impl.xml"/>
323
            </srcfiles>
324
        </uptodate>
325
    </target>
326
    <target name="conditional-clean" depends="init,conditional-clean-init" unless="no.clean.before.build" description="Clean project in case its meta information has changed.">
327
        <antcall target="do-clean" inheritall="true" inheritrefs="true"/>
328
    </target>
329
    <!--deps-jar-->
330
    <target name="deps-jar" depends="conditional-clean" unless="no.deps"/>
331
    <!--preprocess-->
332
    <target name="pre-preprocess"/>
333
    <target name="do-preprocess" unless="no.preprocess">
334
        <fail unless="preprocessed.dir">Must set preprocessed.dir</fail>
335
        <property name="abilities" value=""/>
336
        <property name="debug.level" value="debug"/>
337
        <mkdir dir="${preprocessed.dir}"/>
338
        <echo message="ignore me" file="${build.dir}/.timestamp"/>
339
        <nb-prep destdir="${preprocessed.dir}" preprocessfor="${config.active.name},${abilities},DebugLevel=${debug.level}" encoding="${javac.encoding}">
340
            <fileset dir="${buildsystem.baton}" defaultexcludes="${filter.use.standard}" excludes="${filter.excludes.evaluated}"/>
341
        </nb-prep>
342
        <copy todir="${preprocessed.dir}">
343
            <fileset dir="${buildsystem.baton}" defaultexcludes="${filter.use.standard}" excludes="${filter.excludes.evaluated},${build.classes.excludes}"/>
344
        </copy>
345
        <nb-overrideproperty name="buildsystem.baton" value="${preprocessed.dir}"/>
346
    </target>
347
    <target name="post-preprocess"/>
348
    <target name="preprocess" depends="deps-jar,pre-preprocess,do-preprocess,post-preprocess" description="Preprocess project sources."/>
349
    <!--compile-->
350
    <target name="pre-compile"/>
351
    <target name="do-compile">
352
        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
353
        <mkdir dir="${build.classes.dir}"/>
354
        <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}">
355
            <classpath>
356
                <path path="${libs.classpath}"/>
357
            </classpath>
358
        </javac>
359
        <copy todir="${build.classes.dir}">
360
            <fileset dir="${buildsystem.baton}" defaultexcludes="${filter.use.standard}" excludes="${filter.excludes.evaluated},${build.classes.excludes}"/>
361
        </copy>
362
        <nb-overrideproperty name="buildsystem.baton" value="${build.classes.dir}"/>
363
    </target>
364
    <target name="extract-libs" description="Extracts all bundled libraries.">
365
        <mkdir dir="${build.classes.dir}"/>
366
        <nb-extract dir="${build.classes.dir}" excludeManifest="true" classpath="${libs.classpath}" excludeclasspath="${extra.classpath}"/>
367
    </target>
368
    <target name="post-compile"/>
369
    <target name="compile" depends="preprocess,pre-compile,extract-libs,do-compile,post-compile" description="Compile project classes."/>
370
    <!--compile-single-->
371
    <target name="pre-compile-single"/>
372
    <target name="do-compile-single">
373
        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
374
        <mkdir dir="${build.classes.dir}"/>
375
        <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}">
376
            <classpath>
377
                <path path="${libs.classpath}"/>
378
            </classpath>
379
        </javac>
380
    </target>
381
    <target name="post-compile-single"/>
382
    <target name="compile-single" depends="preprocess,pre-compile-single,do-compile-single,post-compile-single" description="Compile selected project classes."/>
383
    <!--proguard-->
384
    <target name="proguard-init" description="Up-to-date check before obfuscation.">
385
        <property name="obfuscation.level" value="0"/>
386
        <condition property="no.obfusc">
387
            <or>
388
                <equals arg1="${obfuscation.level}" arg2="0"/>
389
                <uptodate targetfile="${obfuscator.destjar}">
390
                    <srcfiles dir="${buildsystem.baton}"/>
391
                </uptodate>
392
            </or>
393
        </condition>
394
        <uptodate property="obfuscation.up-to-date" targetfile="${obfuscator.destjar}">
395
            <srcfiles dir="${buildsystem.baton}"/>
396
        </uptodate>
397
    </target>
398
    <target name="skip-obfuscation" depends="proguard-init" if="obfuscation.up-to-date">
399
        <fail unless="obfuscated.classes.dir">Must set obfuscated.classes.dir</fail>
400
        <nb-overrideproperty name="buildsystem.baton" value="${obfuscated.classes.dir}"/>
401
    </target>
402
    <target name="proguard" depends="skip-obfuscation" description="Obfuscate project classes." unless="no.obfusc">
403
        <fail unless="obfuscated.classes.dir">Must set obfuscated.classes.dir</fail>
404
        <fail unless="obfuscator.srcjar">Must set obfuscator.srcjar</fail>
405
        <fail unless="obfuscator.destjar">Must set obfuscator.destjar</fail>
406
        <property name="obfuscator.classpath" value=""/>
407
        <dirname file="${obfuscator.srcjar}" property="obfuscator.srcjar.dir"/>
408
        <dirname file="${obfuscator.destjar}" property="obfuscator.destjar.dir"/>
409
        <mkdir dir="${obfuscator.srcjar.dir}"/>
410
        <mkdir dir="${obfuscator.destjar.dir}"/>
411
        <jar jarfile="${obfuscator.srcjar}" basedir="${buildsystem.baton}"/>
412
        <property name="obfuscation.custom" value=""/>
413
        <nb-obfuscate srcjar="${obfuscator.srcjar}" destjar="${obfuscator.destjar}" obfuscatorclasspath="${obfuscator.classpath}" classpath="${platform.bootclasspath}:${extra.classpath}" obfuscationLevel="${obfuscation.level}" extraScript="${obfuscation.custom}"/>
414
        <mkdir dir="${obfuscated.classes.dir}"/>
415
        <unjar src="${obfuscator.destjar}" dest="${obfuscated.classes.dir}"/>
416
        <nb-overrideproperty name="buildsystem.baton" value="${obfuscated.classes.dir}"/>
417
    </target>
418
    <!--obfuscate-->
419
    <target name="pre-obfuscate"/>
420
    <target name="post-obfuscate"/>
421
    <target name="obfuscate" depends="compile,pre-obfuscate,proguard,post-obfuscate" description="Obfuscate project classes."/>
422
    <!--preverify-->
423
    <target name="pre-preverify"/>
424
    <target name="do-preverify" if="cldc-platform.trigger">
425
        <fail unless="preverify.classes.dir">Must set preverify.classes.dir</fail>
426
        <mkdir dir="${preverify.sources.dir}"/>
427
        <copy todir="${preverify.sources.dir}">
428
            <fileset dir="${buildsystem.baton}" includes="**/*.class"/>
429
        </copy>
430
        <mkdir dir="${preverify.classes.dir}"/>
431
        <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}"/>
432
        <copy todir="${preverify.classes.dir}">
433
            <fileset dir="${buildsystem.baton}" defaultexcludes="${filter.use.standard}" excludes="${filter.excludes.evaluated},${build.classes.excludes}"/>
434
        </copy>
435
        <nb-overrideproperty name="buildsystem.baton" value="${preverify.classes.dir}"/>
436
    </target>
437
    <target name="post-preverify"/>
438
    <target name="preverify" depends="obfuscate,pre-preverify,do-preverify,post-preverify" description="Preverify project classes."/>
439
    <!--set-password-->
440
    <target name="set-password-init">
441
        <property name="sign.enabled" value="false"/>
442
        <condition property="skip-sign-keystore-password-input">
443
            <or>
444
                <isfalse value="${sign.enabled}"/>
445
                <and>
446
                    <isset property="sign.keystore"/>
447
                    <isset property="sign.keystore.password"/>
448
                    <not>
449
                        <equals arg1="${sign.keystore}" arg2="" trim="true"/>
450
                    </not>
451
                    <not>
452
                        <equals arg1="${sign.keystore.password}" arg2="" trim="true"/>
453
                    </not>
454
                </and>
455
            </or>
456
        </condition>
457
        <condition property="skip-sign-alias-password-input">
458
            <or>
459
                <isfalse value="${sign.enabled}"/>
460
                <and>
461
                    <isset property="sign.keystore"/>
462
                    <isset property="sign.alias"/>
463
                    <isset property="sign.alias.password"/>
464
                    <not>
465
                        <equals arg1="${sign.keystore}" arg2="" trim="true"/>
466
                    </not>
467
                    <not>
468
                        <equals arg1="${sign.alias}" arg2="" trim="true"/>
469
                    </not>
470
                    <not>
471
                        <equals arg1="${sign.alias.password}" arg2="" trim="true"/>
472
                    </not>
473
                </and>
474
            </or>
475
        </condition>
476
    </target>
477
    <target name="set-keystore-password" if="netbeans.home" unless="skip-sign-keystore-password-input">
478
        <nb-enter-password keystore="${sign.keystore}" passwordproperty="sign.keystore.password"/>
479
    </target>
480
    <target name="set-alias-password" if="netbeans.home" unless="skip-sign-alias-password-input">
481
        <nb-enter-password keystore="${sign.keystore}" keyalias="${sign.alias}" passwordproperty="sign.alias.password"/>
482
    </target>
483
    <target name="set-password" depends="set-password-init,set-keystore-password,set-alias-password"/>
484
    <!--create JAD-->
485
    <target name="add-configuration" unless="contains.manifest.configuration">
486
        <nb-output file="${dist.dir}/${dist.jad}" encoding="UTF-8" append="true">MicroEdition-Configuration: ${platform.configuration}
487
</nb-output>
488
        <nb-output file="${manifest.build.file}" encoding="UTF-8" append="true">MicroEdition-Configuration: ${platform.configuration}
489
</nb-output>
490
    </target>
491
    <target name="add-profile" unless="contains.manifest.profile">
492
        <nb-output file="${dist.dir}/${dist.jad}" encoding="UTF-8" append="true">MicroEdition-Profile: ${platform.profile}
493
</nb-output>
494
        <nb-output file="${manifest.build.file}" encoding="UTF-8" append="true">MicroEdition-Profile: ${platform.profile}
495
</nb-output>
496
    </target>
497
    <target name="create-jad" if="cldc-platform.trigger">
498
        <fail unless="dist.jad">Must set dist.jad</fail>
499
        <mkdir dir="${build.dir}"/>
500
        <dirname file="${dist.dir}/${dist.jad}" property="dist.jad.dir"/>
501
        <mkdir dir="${dist.jad.dir}"/>
502
        <condition property="evaluated.manifest.apipermissions" value="${manifest.apipermissions}">
503
            <not>
504
                <equals arg1="${platform.profile}" arg2="MIDP-1.0"/>
505
            </not>
506
        </condition>
507
        <condition property="evaluated.manifest.pushregistry" value="${manifest.pushregistry}">
508
            <not>
509
                <equals arg1="${platform.profile}" arg2="MIDP-1.0"/>
510
            </not>
511
        </condition>
512
        <condition property="contains.manifest.configuration">
513
            <contains substring="MicroEdition-Configuration: " string="${manifest.others}"/>
514
        </condition>
515
        <condition property="contains.manifest.profile">
516
            <contains substring="MicroEdition-Profile: " string="${manifest.others}"/>
517
        </condition>
518
        <property value="" name="evaluated.manifest.apipermissions"/>
519
        <property value="" name="evaluated.manifest.pushregistry"/>
520
        <property name="manifest.jad" value=""/>
521
        <property name="manifest.manifest" value=""/>
522
        <nb-output file="${dist.dir}/${dist.jad}" encoding="UTF-8">${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.jad}</nb-output>
523
        <nb-output file="${manifest.build.file}" encoding="UTF-8">${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.manifest}</nb-output>
524
        <antcall target="add-configuration" inheritall="true" inheritrefs="true"/>
525
        <antcall target="add-profile" inheritall="true" inheritrefs="true"/>
526
        <property name="manifest.available" value="true"/>
527
    </target>
528
    <!--do-extra-libs-->
529
    <target name="do-extra-libs" if="extra.classpath">
530
        <property name="dist.lib.dir" value="${dist.dir}/lib"/>
531
        <mkdir dir="${dist.lib.dir}"/>
532
        <copypath destdir="${dist.lib.dir}" path="${extra.classpath}">
533
            <flattenmapper/>
534
        </copypath>
535
    </target>
536
    <!--nokiaS80-manifest-->
537
    <target name="nokiaS80-prepare-j9" if="nokiaS80-platform.trigger">
538
        <fail message="Main class is not set!">
539
            <condition>
540
                <equals arg1="${main.class}" arg2="" trim="true"/>
541
            </condition>
542
        </fail>
543
        <mkdir dir="${build.dir}/j9"/>
544
        <taskdef name="j9builder" classname="org.netbeans.modules.j2me.cdc.project.J9Builder" classpath="${libs.cdc-ant-utils.classpath}"/>
545
        <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}"/>
546
        <copy file="${manifest.file}" tofile="${manifest.build.file}" failonerror="false"/>
547
        <property name="manifest.available" value="true"/>
548
        <loadfile property="nokia.manifest.j9" srcFile="${j9.dist}"/>
549
    </target>
550
    <target name="nokiaS80-prepare-manifest" depends="nokiaS80-prepare-j9" if="nokiaS80-platform.trigger" unless="nokia.icon.invalid">
551
        <pathconvert property="logo.icon.name" pathsep=" ">
552
            <path path="${nokiaS80.application.icon}"/>
553
            <chainedmapper>
554
                <flattenmapper/>
555
                <globmapper from="*" to="*"/>
556
            </chainedmapper>
557
        </pathconvert>
558
        <copy file="${nokiaS80.application.icon}" todir="${buildsystem.baton}"/>
559
        <manifest file="${manifest.build.file}" mode="update">
560
            <attribute name="Main-Class" value="${main.class}"/>
561
            <attribute name="PproApp-Name" value="${application.name}"/>
562
            <attribute name="PproApp-Vendor" value="${application.vendor}"/>
563
            <attribute name="PproApp-Version" value="${deployment.number}"/>
564
            <attribute name="PproApp-Icon" value="${logo.icon.name}"/>
565
            <attribute name="x-ibm-pp-j9" value="${nokia.manifest.j9}"/>
566
        </manifest>
567
    </target>
568
    <target name="nokiaS80-prepare-manifest-no-icon" depends="nokiaS80-prepare-j9" if="nokia.icon.invalid">
569
        <manifest file="${manifest.build.file}" mode="update">
570
            <attribute name="Main-Class" value="${main.class}"/>
571
            <attribute name="PproApp-Name" value="${application.name}"/>
572
            <attribute name="PproApp-Vendor" value="${application.vendor}"/>
573
            <attribute name="PproApp-Version" value="${deployment.number}"/>
574
            <attribute name="x-ibm-pp-j9" value="${nokia.manifest.j9}"/>
575
        </manifest>
576
    </target>
577
    <target name="nokiaS80-create-manifest" depends="nokiaS80-prepare-j9,nokiaS80-prepare-manifest,nokiaS80-prepare-manifest-no-icon" if="nokiaS80-platform.trigger"/>
578
    <!--semc-build-j9-->
579
    <target name="semc-build-j9" if="semc-platform.trigger">
580
        <epocpathsetter home="${platform.home}"/>
581
        <property name="semc.application.caps" value=""/>
582
        <mkdir dir="${platform.home}/epoc32/winscw/c/private/${semc.application.uid}"/>
583
        <mkdir dir="${build.dir}/j9"/>
584
        <fail message="Main class is not set!">
585
            <condition>
586
                <equals arg1="${main.class}" arg2="" trim="true"/>
587
            </condition>
588
        </fail>
589
        <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}"/>
590
    </target>
591
    <!--do-jar-->
592
    <target name="do-jar" if="manifest.available">
593
        <dirname file="${dist.dir}/${dist.jar}" property="dist.jar.dir"/>
594
        <mkdir dir="${dist.jar.dir}"/>
595
        <property name="manifest.build.file" location="${manifest.file}"/>
596
        <jar compress="${jar.compress}" jarfile="${dist.dir}/${dist.jar}" manifest="${manifest.build.file}" manifestencoding="UTF-8">
597
            <fileset dir="${buildsystem.baton}"/>
598
        </jar>
599
    </target>
600
    <!--nsicom-create-manifest-->
601
    <target name="nsicom-create-manifest" if="nsicom-platform.trigger">
602
        <jar jarfile="${dist.dir}/${dist.jar}" compress="${jar.compress}" update="true">
603
            <manifest>
604
                <attribute name="Main-Class" value="${main.class}"/>
605
            </manifest>
606
        </jar>
607
    </target>
608
    <!--do-jar-no-manifest-->
609
    <target name="do-jar-no-manifest" unless="manifest.available">
610
        <dirname file="${dist.dir}/${dist.jar}" property="dist.jar.dir"/>
611
        <mkdir dir="${dist.jar.dir}"/>
612
        <jar compress="${jar.compress}" jarfile="${dist.dir}/${dist.jar}">
613
            <fileset dir="${buildsystem.baton}"/>
614
        </jar>
615
    </target>
616
    <!--update-jad-->
617
    <target name="update-jad" if="cldc-platform.trigger">
618
        <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"/>
619
    </target>
620
    <!--ricoh-init-dalp-->
621
    <target name="ricoh-init-dalp" if="ricoh-platform.trigger">
622
        <property name="ricoh.application.telephone" value=""/>
623
        <property name="ricoh.application.fax" value=""/>
624
        <property name="ricoh.application.email" value=""/>
625
        <condition property="no.unmanaged.dalp">
626
            <and>
627
                <isfalse value="${ricoh.dalp.is-managed}"/>
628
                <not>
629
                    <available file="./${application.name}.dalp"/>
630
                </not>
631
            </and>
632
        </condition>
633
        <fail if="no.unmanaged.dalp" message="Dalp file ${application.name}.dalp is required in project directory when DALP management is set to off."/>
634
        <condition property="no.vendor.name" value="true">
635
            <equals arg1="${application.vendor}" arg2="" trim="true"/>
636
        </condition>
637
        <condition property="ricoh.icon.invalid" value="true">
638
            <or>
639
                <contains string="${ricoh.application.icon}" substring="$${"/>
640
                <equals arg1="${ricoh.application.icon}" arg2="" trim="true"/>
641
            </or>
642
        </condition>
643
        <mkdir dir="${dist.dir}/lib"/>
644
    </target>
645
    <!--ricoh-add-app-icon-->
646
    <target name="ricoh-add-app-icon" depends="ricoh-init-dalp" if="ricoh-platform.trigger" unless="ricoh.icon.invalid">
647
        <pathconvert property="icon.name" pathsep=" ">
648
            <path path="${ricoh.application.icon}"/>
649
            <chainedmapper>
650
                <flattenmapper/>
651
                <globmapper from="*" to="*"/>
652
            </chainedmapper>
653
        </pathconvert>
654
        <jar jarfile="${dist.jar}" compress="${jar.compress}" update="true">
655
            <fileset file="${ricoh.application.icon}"/>
656
        </jar>
657
    </target>
658
    <!--ricoh-build-dalp-with-icon-->
659
    <target name="ricoh-build-dalp-with-icon" depends="ricoh-add-app-icon" if="ricoh-platform.trigger" unless="ricoh.icon.invalid">
660
        <mkdir dir="${build.dir}/dalp/"/>
661
        <taskIf if="ricoh.dalp.is-managed" value="true">
662
            <dalp file="${dalp.dist}" iconname="${icon.name}">
663
                <fileset dir="${dist.dir}/lib"/>
664
            </dalp>
665
            <echo message="Managed dalp file ${dalp.dist} created w/ icon"/>
666
        </taskIf>
667
        <taskIf if="ricoh.dalp.is-managed" value="false">
668
            <copy tofile="${dalp.dist}">
669
                <fileset file="./${application.name}.dalp"/>
670
            </copy>
671
            <echo message="Non-managed dalp file ${dalp.dist} w/ icon imported"/>
672
        </taskIf>
673
    </target>
674
    <!--ricoh-build-dalp-without-icon-->
675
    <target name="ricoh-build-dalp-without-icon" if="ricoh.icon.invalid">
676
        <mkdir dir="${build.dir}/dalp/"/>
677
        <taskIf if="ricoh.dalp.is-managed" value="true">
678
            <dalp file="${dalp.dist}">
679
                <fileset dir="${dist.dir}/lib"/>
680
            </dalp>
681
            <echo message="Managed dalp file ${dalp.dist} created w/o icon"/>
682
        </taskIf>
683
        <taskIf if="ricoh.dalp.is-managed" value="false">
684
            <copy tofile="${dalp.dist}">
685
                <fileset file="./${application.name}.dalp"/>
686
            </copy>
687
            <echo message="Non-managed dalp file ${dalp.dist} w/o icon imported"/>
688
        </taskIf>
689
    </target>
690
    <target name="ricoh-build-dalp" depends="ricoh-build-dalp-with-icon,ricoh-build-dalp-without-icon" if="ricoh-platform.trigger">
691
        <copy todir="${dist.dir}" file="${dalp.dist}" overwrite="true"/>
692
    </target>
693
    <!--savaje-build-jnlp-->
694
    <target name="savaje-prepare-icon" if="savaje-platform.trigger" unless="savaje.icon.invalid">
695
        <pathconvert property="savaje.application.icon.name" pathsep=" ">
696
            <path path="${savaje.application.icon}"/>
697
            <chainedmapper>
698
                <flattenmapper/>
699
                <globmapper from="*" to="*"/>
700
            </chainedmapper>
701
        </pathconvert>
702
        <mkdir dir="${dist.dir}/lib"/>
703
        <copy tofile="${dist.dir}/lib/${savaje.application.icon.name}" file="${savaje.application.icon}" overwrite="true" failonerror="false"/>
704
    </target>
705
    <target name="savaje-build-jnlp" depends="savaje-prepare-icon" if="savaje-platform.trigger">
706
        <mkdir dir="${build.dir}/jnlp/"/>
707
        <taskdef resource="org/netbeans/modules/j2me/cdc/project/savaje/defs.properties">
708
            <classpath>
709
                <pathelement path="${libs.savaje-ant-utils.classpath}"/>
710
            </classpath>
711
        </taskdef>
712
        <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}">
713
            <fileset dir="${dist.dir}/lib"/>
714
        </jnlp>
715
        <policy file="${build.dir}/jnlp/bundle.policy" codebase="WTK_AGUI"/>
716
        <copy tofile="${dist.dir}/lib/classes.jar" file="${dist.dir}/${dist.jar}" overwrite="true"/>
717
        <copy todir="${dist.dir}" file="${build.dir}/jnlp/bundle.jnlp" overwrite="true"/>
718
        <copy tofile="${dist.dir}/bundle.policy" file="${build.dir}/jnlp/bundle.policy" overwrite="true"/>
719
        <copy todir="${dist.dir}/lib" overwrite="true" failonerror="false">
720
            <fileset dir="${resources.dir}"/>
721
        </copy>
722
    </target>
723
    <!--jar-->
724
    <target name="pre-jar"/>
725
    <target name="post-jar"/>
726
    <target name="jar" depends="preverify,pre-jar,set-password,create-jad,do-extra-libs,nokiaS80-create-manifest,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."/>
727
    <!--override-jad-->
728
    <target name="override-jad" if="override.jarurl.trigger">
729
        <property name="deployment.jarurl" value="${dist.jar}"/>
730
        <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"/>
731
    </target>
732
    <!--semc-make-sis-->
733
    <target name="semc-ppro-arm" if="semc-platform.trigger" description="Builds neccessary files for semc device">
734
        <exec executable="${platform.home}/epoc32/tools/create-ppro-app.bat" dir="${platform.home}/epoc32/tools/">
735
            <arg value="arm"/>
736
            <arg value="${application.name}"/>
737
            <arg value="${semc.application.uid}"/>
738
            <arg value="${j9.dist}"/>
739
            <arg value="${semc.application.caps}"/>
740
            <env key="SDKDRIVE" value="${sdkdrive}"/>
741
            <env key="EPOCROOT" value="${epocroot}"/>
742
            <env key="Path" value="${epocpath}"/>
743
        </exec>
744
    </target>
745
    <target name="semc-make-sis-icon" if="semc-platform.trigger" unless="semc.icon.invalid">
746
        <copy file="${semc.application.icon}" tofile="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}/${semc.application.uid}.mbm" failonerror="false"/>
747
    </target>
748
    <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">
749
        <property name="dll.dir" location="dll"/>
750
        <mkdir dir="${dll.dir}"/>
751
        <copy todir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}">
752
            <fileset dir="${dist.dir}">
753
                <exclude name="javadoc/**"/>
754
            </fileset>
755
        </copy>
756
        <copy todir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}">
757
            <fileset dir="${dll.dir}">
758
                <include name="**/*.dll"/>
759
            </fileset>
760
        </copy>
761
        <pkgmake workdir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}" 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}">
762
            <fileset dir="${dist.dir}">
763
                <exclude name="javadoc/**"/>
764
            </fileset>
765
            <fileset dir="${dll.dir}">
766
                <include name="**/*.dll"/>
767
            </fileset>
768
        </pkgmake>
769
        <exec executable="${platform.home}/epoc32/tools/makesis" dir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}">
770
            <arg value="-d${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}"/>
771
            <arg value="PProLauncher${semc.application.uid}.pkg"/>
772
            <arg value="SYMBIAN.sis"/>
773
            <env key="SDKDRIVE" value="${sdkdrive}"/>
774
            <env key="EPOCROOT" value="${epocroot}"/>
775
            <env key="Path" value="${epocpath}"/>
776
        </exec>
777
        <copy todir="${dist.dir}">
778
            <fileset dir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}">
779
                <include name="**/*.SIS"/>
780
                <include name="**/*.sis"/>
781
            </fileset>
782
        </copy>
783
    </target>
784
    <target name="semc-sign-sis" if="semc-platform.trigger" depends="semc-make-sis" unless="no.certificateorkey" description="Sign SIS file">
785
        <exec executable="${platform.home}/epoc32/tools/signsis" dir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}">
786
            <arg value="-s"/>
787
            <arg value="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}/SYMBIAN.sis"/>
788
            <arg value="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}/SYMBIAN-SIGNED.sis"/>
789
            <arg value="${semc.certificate.path}"/>
790
            <arg value="${semc.private.key.path}"/>
791
            <arg value="${semc.private.key.password}"/>
792
            <env key="SDKDRIVE" value="${sdkdrive}"/>
793
            <env key="EPOCROOT" value="${epocroot}"/>
794
            <env key="Path" value="${epocpath}"/>
795
        </exec>
796
        <copy todir="${dist.dir}">
797
            <fileset dir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}">
798
                <include name="**/*.SIS"/>
799
                <include name="**/*.sis"/>
800
            </fileset>
801
        </copy>
802
    </target>
803
    <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 ">
804
        <echo message="Signed SIS was not created! Set up path to certificate and private key in project properties!"/>
805
    </target>
806
    <target name="semc-sis" if="semc-platform.trigger" depends="semc-sign-sis,semc-no-sign-sis" unless="no.application.uid"/>
807
    <!--increment-app-version-->
808
    <target name="increment-app-version" if="app-version.autoincrement.trigger">
809
        <propertyfile file="nbproject/private/private.properties">
810
            <entry key="deployment.counter" type="int" operation="+" default="2" pattern="0"/>
811
            <entry key="deployment.number" value="000000${deployment.counter}"/>
812
        </propertyfile>
813
        <property name="deployment.number.pattern" value="\2\3.\5\6.\8\9"/>
814
        <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}"/>
815
    </target>
816
    <!--build-->
817
    <target name="pre-build"/>
818
    <target name="post-build"/>
819
    <target name="build" depends="jar,pre-build,override-jad,semc-sis,increment-app-version,post-build" description="Builds final distribution of the application."/>
820
    <!--cldc-run-->
821
    <target name="cldc-run" if="cldc-platform.trigger">
822
        <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}"/>
823
    </target>
824
    <!--ricoh-run-->
825
    <target name="ricoh-run" if="ricoh-platform.trigger">
826
        <copy todir="${platform.home}/mnt/sd3/sdk/dsdk/dist/${ricoh.application.uid}" overwrite="true">
827
            <fileset dir="${dist.dir}">
828
                <patternset refid="deployment.patternset"/>
829
            </fileset>
830
            <flattenmapper/>
831
        </copy>
832
        <ant antfile="${platform.home}/startemulator.xml" target="start_emulator" dir="${platform.home}">
833
            <property name="emulator.skin" value="WVGA.xml"/>
834
            <property name="emulator.autolaunchid" value="${ricoh.application.uid}"/>
835
        </ant>
836
    </target>
837
    <!--semc-run-and-debug-prepare-targets-->
838
    <target name="semc-icon-assembly" if="semc-platform.trigger" unless="semc.icon.invalid">
839
        <copy file="${semc.application.icon}" tofile="${platform.home}/epoc32/release/winscw/udeb/z/Resource/Apps/${semc.application.uid}.mbm" failonerror="false"/>
840
        <iconassembly home="${platform.home}" uid="${semc.application.uid}" count="${application.icon.count}"/>
841
    </target>
842
    <target name="semc-ppro-emulator" if="semc-platform.trigger" description="Builds neccessary files for semc emulator">
843
        <exec executable="${platform.home}/epoc32/tools/create-ppro-app.bat" dir="${platform.home}/epoc32/tools/">
844
            <arg value="win32"/>
845
            <arg value="${application.name}"/>
846
            <arg value="${semc.application.uid}"/>
847
            <arg value="${j9.dist}"/>
848
            <arg value="${semc.application.caps}"/>
849
            <env key="SDKDRIVE" value="${sdkdrive}"/>
850
            <env key="EPOCROOT" value="${epocroot}"/>
851
            <env key="Path" value="${epocpath}"/>
852
        </exec>
853
    </target>
854
    <target name="semc-do-run" if="semc-platform.trigger" description="Prepare log folders, copy necessary files">
855
        <copy todir="${platform.home}/epoc32/winscw/C/private/${semc.application.uid}">
856
            <fileset dir="${dist.dir}">
857
                <exclude name="javadoc/**"/>
858
            </fileset>
859
        </copy>
860
        <mkdir dir="${platform.home}/epoc32/winscw/c/logs/j9vm"/>
861
        <epocinipath file="${platform.home}/epoc32/data/epoc.ini"/>
862
        <exec executable="${platform.home}/epoc32/release/winscw/udeb/epoc.exe">
863
            <env key="SDKDRIVE" value="${sdkdrive}"/>
864
            <env key="EPOCROOT" value="${epocroot}"/>
865
            <env key="Path" value="${epocpath}"/>
866
        </exec>
867
    </target>
868
    <!--semc-run-->
869
    <target name="semc-run" depends="semc-icon-assembly,semc-ppro-emulator,semc-do-run" if="semc-platform.trigger"/>
870
    <!--savaje-run-->
871
    <target name="savaje-run" if="savaje-platform.trigger">
872
        <sunEmulatorExec 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}">
873
            <fileset dir="${dist.dir}">
874
                <exclude name="javadoc/**"/>
875
            </fileset>
876
        </sunEmulatorExec>
877
    </target>
878
    <!--nokiaS80-run-->
879
    <target name="nokiaS80-run" if="nokiaS80-platform.trigger">
880
        <mkdir dir="${platform.home}/epoc32/wins/c/PP_Applications"/>
881
        <mkdir dir="${platform.home}/epoc32/wins/c/logs/j9vm"/>
882
        <taskdef name="nokiaexec" classname="org.netbeans.modules.j2me.cdc.project.nokiaS80.NokiaEmulatorExecTask" classpath="${libs.nokiaS80-ant-utils.classpath}"/>
883
        <nokiaexec jvmargs="${run.jvmargs}" mainclass="${main.class}" args="${application.args}" home="${platform.home}" device="${platform.device}" xlet="${main.class.xlet}" applet="${main.class.applet}">
884
            <fileset dir="${dist.dir}">
885
                <exclude name="javadoc/**"/>
886
            </fileset>
887
        </nokiaexec>
888
    </target>
889
    <!--nsicom-run-->
890
    <target name="nsicom-run" if="nsicom-platform.trigger">
891
        <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}">
892
            <fileset dir="${dist.dir}">
893
                <exclude name="javadoc/**"/>
894
            </fileset>
895
        </nsicomExecDeploy>
896
    </target>
897
    <!--run-->
898
    <target name="pre-run"/>
899
    <target name="run" depends="jar,pre-run,cldc-run,ricoh-run,semc-run,savaje-run,nokiaS80-run,nsicom-run" description="Run MIDlet suite."/>
900
    <target name="run-no-build" depends="init,pre-run,cldc-run,ricoh-run,semc-run,savaje-run,nokiaS80-run,nsicom-run" description="Quick Run already built MIDlet suite."/>
901
    <!--cldc-debug-->
902
    <target name="cldc-debug" if="cldc-platform.trigger">
903
        <parallel>
904
            <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}"/>
905
            <sequential>
906
                <sleep seconds="5"/>
907
                <antcall target="nbdebug"/>
908
            </sequential>
909
        </parallel>
910
    </target>
911
    <!--ricoh-debug-->
912
    <target name="ricoh-debug" if="ricoh-platform.trigger">
913
        <copy todir="${platform.home}/mnt/sd3/sdk/dsdk/dist/${ricoh.application.uid}" overwrite="true">
914
            <fileset dir="${dist.dir}">
915
                <patternset refid="deployment.patternset"/>
916
            </fileset>
917
            <flattenmapper/>
918
        </copy>
919
        <parallel>
920
            <ant antfile="${platform.home}/startemulator_debug.xml" target="debug_emulator" dir="${platform.home}">
921
                <property name="emulator.skin" value="WVGA.xml"/>
922
                <property name="emulator.autolaunchid" value="${ricoh.application.uid}"/>
923
            </ant>
924
            <sequential>
925
                <sleep seconds="5"/>
926
                <property name="jpda.port" value="8000"/>
927
                <property name="debug.period" value="3000"/>
928
                <property name="debug.timeout" value="30000"/>
929
                <antcall target="nbdebug" inheritall="true" inheritrefs="true"/>
930
            </sequential>
931
        </parallel>
932
    </target>
933
    <!--semc-debug-->
934
    <!--semc-build-j9-debug-->
935
    <target name="semc-build-j9-debug" if="semc-platform.trigger">
936
        <fail message="Main class is not set!">
937
            <condition>
938
                <equals arg1="${main.class}" arg2=""/>
939
            </condition>
940
        </fail>
941
        <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}"/>
942
    </target>
943
    <target name="semc-debug-start" if="semc-platform.trigger">
944
        <nbjpdastart transport="dt_socket" addressproperty="jpda.port" name="${main.class}">
945
            <classpath>
946
                <path path="${build.classes.dir}"/>
947
            </classpath>
948
            <bootclasspath>
949
                <path path="${platform.bootclasspath}"/>
950
            </bootclasspath>
951
        </nbjpdastart>
952
    </target>
953
    <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"/>
954
    <!--savaje-debug-->
955
    <target name="savaje-debug" if="savaje-platform.trigger">
956
        <parallel>
957
            <sunEmulatorExec 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}" debug="true" debuggeraddressproperty="jpda.port">
958
                <fileset dir="${dist.dir}">
959
                    <exclude name="javadoc/**"/>
960
                </fileset>
961
            </sunEmulatorExec>
962
            <sequential>
963
                <sleep seconds="5"/>
964
                <antcall target="nbdebug"/>
965
            </sequential>
966
        </parallel>
967
    </target>
968
    <!--nokiaS80-debug-->
969
    <target name="nokiaS80-debug" if="nokiaS80-platform.trigger">
970
        <taskdef name="j9builder" classname="org.netbeans.modules.j2me.cdc.project.J9Builder" classpath="${libs.cdc-ant-utils.classpath}"/>
971
        <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}"/>
972
        <mkdir dir="${platform.home}/epoc32/wins/c/logs/j9vm"/>
973
        <taskdef name="nokiaexec" classname="org.netbeans.modules.j2me.cdc.project.nokiaS80.NokiaEmulatorExecTask" classpath="${libs.nokiaS80-ant-utils.classpath}"/>
974
        <parallel>
975
            <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}">
976
                <fileset dir="${dist.dir}">
977
                    <exclude name="javadoc/**"/>
978
                </fileset>
979
            </nokiaexec>
980
            <sequential>
981
                <sleep seconds="10"/>
982
                <antcall target="nbdebug"/>
983
            </sequential>
984
        </parallel>
985
    </target>
986
    <!--nsicom-debug-->
987
    <target name="nsicom-debug" if="nsicom-platform.trigger">
988
        <fail message="Debugging is not supported in this NSIcom VM version. Use monitoring facility instead!"/>
989
    </target>
990
    <!--debug-->
991
    <target name="remove-timestamp">
992
        <delete file="$/.timestamp"/>
993
    </target>
994
    <target name="pre-debug"/>
995
    <target name="debug" description="Debug project." depends="clean,jar,remove-timestamp,pre-debug,cldc-debug,ricoh-debug,semc-debug,savaje-debug,nokiaS80-debug,nsicom-debug"/>
996
    <target name="nbdebug" description="Start NetBeans debugger" if="netbeans.home">
997
        <property name="debug.delay" value="5000"/>
998
        <nb-mobility-debug address="${jpda.port}" name="${app.codename}" delay="${debug.delay}" timeout="30000" period="2000"/>
999
    </target>
1000
    <!--javadoc-->
1001
    <target name="browse-javadoc" if="netbeans.home" unless="no.javadoc.preview">
1002
        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
1003
    </target>
1004
    <target name="javadoc" depends="preprocess">
1005
        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
1006
        <mkdir dir="${dist.javadoc.dir}"/>
1007
        <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}">
1008
            <classpath>
1009
                <path path="${libs.classpath}"/>
1010
            </classpath>
1011
            <sourcepath>
1012
                <pathelement location="${buildsystem.baton}"/>
1013
            </sourcepath>
1014
        </javadoc>
1015
        <antcall target="browse-javadoc"/>
1016
    </target>
1017
    <!--clean and build-->
1018
    <target name="rebuild" depends="clean,build" description="Rebuild the application."/>
1019
    <target name="clean-timestamp">
1020
        <delete file="${build.dir}/.timestamp"/>
1021
    </target>
1022
    <target name="clean-preprocessed">
1023
        <delete dir="${preprocessed.dir}"/>
1024
    </target>
1025
    <target name="clean-classes">
1026
        <delete dir="${build.classes.dir}"/>
1027
    </target>
1028
    <target name="clean-obfuscated">
1029
        <delete file="${obfuscator.srcjar}"/>
1030
        <delete file="${obfuscator.destjar}"/>
1031
        <delete dir="${obfuscated.classes.dir}"/>
1032
    </target>
1033
    <target name="clean-preverified">
1034
        <delete dir="${preverify.sources.dir}"/>
1035
        <delete dir="${preverify.classes.dir}"/>
1036
    </target>
1037
    <target name="clean-manifest" if="manifest.build.file">
1038
        <delete file="${manifest.build.file}"/>
1039
    </target>
1040
    <target name="clean-jar">
1041
        <delete file="${dist.dir}/${dist.jar}"/>
1042
    </target>
1043
    <target name="clean-jad">
1044
        <delete file="${dist.dir}/${dist.jad}"/>
1045
    </target>
1046
    <target name="clean-javadoc">
1047
        <delete dir="${dist.javadoc.dir}"/>
1048
    </target>
1049
    <target name="clean-j9" if="j9.dist">
1050
        <delete file="${j9.dist}"/>
1051
    </target>
1052
    <target name="clean-ricoh" if="ricoh-platform.trigger">
1053
        <delete dir="${platform.home}/mnt/sd3/sdk/dsdk/dist/${ricoh.application.uid}"/>
1054
        <delete dir="${build.dir}/dalp"/>
1055
        <delete file="${dist.dir}/$.dalp"/>
1056
        <delete dir="${dist.dir}/lib"/>
1057
    </target>
1058
    <target name="clean-semc" if="semc-platform.trigger">
1059
        <delete dir="${dist.dir}" includes="*.sis,*.SIS"/>
1060
        <delete dir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/win32/PProLauncher${semc.application.uid}"/>
1061
        <delete dir="${platform.home}/epoc32/tools/ppro-custom-launcher/output/arm/PProLauncher${semc.application.uid}"/>
1062
        <delete file="${platform.home}/epoc32/release/winscw/udeb/PProLauncher${semc.application.uid}.exe"/>
1063
        <delete file="${platform.home}/epoc32/release/winscw/udeb/z/Resource/Apps/PProLauncher${semc.application.uid}.rsc"/>
1064
        <delete file="${platform.home}/epoc32/release/winscw/udeb/z/private/10003a3f/apps/PProLauncher${semc.application.uid}_reg.rsc"/>
1065
        <delete file="${platform.home}/epoc32/release/winscw/udeb/z/Resource/Apps/PProLauncher${semc.application.uid}_loc.R01"/>
1066
        <delete file="${platform.home}/epoc32/release/winscw/udeb/z/Resource/Apps/${semc.application.uid}.mbm"/>
1067
        <delete file="${platform.home}/epoc32/data/Z/private/10003a3f/apps/PProLauncher${semc.application.uid}_reg.rsc"/>
1068
        <delete file="${platform.home}/epoc32/data/Z/Resource/Apps/PProLauncher${semc.application.uid}.rsc"/>
1069
        <delete file="${platform.home}/epoc32/data/Z/Resource/Apps/PProLauncher${semc.application.uid}_loc.R01"/>
1070
        <delete dir="${platform.home}/epoc32/winscw/C/private/${semc.application.uid}"/>
1071
    </target>
1072
    <target name="clean-savaje" if="savaje-platform.trigger">
1073
        <delete dir="${build.dir}/jnlp"/>
1074
        <delete file="${dist.dir}/bundle.jnlp"/>
1075
        <delete file="${dist.dir}/bundle.policy"/>
1076
        <delete dir="${dist.dir}/lib"/>
1077
    </target>
1078
    <!--clean-->
1079
    <target name="pre-clean"/>
1080
    <target name="post-clean"/>
1081
    <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,post-clean"/>
1082
    <target name="clean" depends="conditional-clean" if="no.clean.before.build" description="Clean build products.">
1083
        <antcall target="do-clean" inheritall="true" inheritrefs="true"/>
1084
    </target>
1085
    <!--deploy-->
1086
    <target name="pre-deploy"/>
1087
    <target name="do-deploy" if="deployment.method" unless="skip.deployment">
1088
        <fail unless="deployment.scriptfile">Property deployment.${deployment.method}.scriptfile not set. The property should point to an Ant script providing ${deployment.method} deployment.</fail>
1089
        <ant antfile="${deployment.scriptfile}" inheritall="true" inheritrefs="true"/>
1090
        <antcall target="post-deploy" inheritall="true" inheritrefs="true"/>
1091
    </target>
1092
    <target name="post-deploy"/>
1093
    <target name="deploy" depends="build,pre-deploy,do-deploy,post-deploy"/>
1094
    <!--for-all-configs targets-->
1095
    <target name="for-all-configs" depends="load-properties">
1096
        <fail unless="libs.ant-contrib.classpath">Classpath to Ant Contrib library (libs.ant-contrib.classpath property) is not set.</fail>
1097
        <property name="selected.configurations" value="${all.configurations}"/>
1098
        <taskdef resource="net/sf/antcontrib/antlib.xml">
1099
            <classpath>
1100
                <pathelement path="${libs.ant-contrib.classpath}"/>
1101
            </classpath>
1102
        </taskdef>
1103
        <for list="${selected.configurations}" param="cfg" keepgoing="true" trim="true">
1104
            <sequential>
1105
                <echo>Active project configuration: @{cfg}</echo>
1106
                <antcall target="${target.to.call}" inheritall="false" inheritrefs="false">
1107
                    <param name="config.active" value="@{cfg}"/>
1108
                    <propertyset>
1109
                        <propertyref name="no.deps"/>
1110
                    </propertyset>
1111
                </antcall>
1112
                <property name="no.deps" value="true"/>
1113
            </sequential>
1114
        </for>
1115
    </target>
1116
    <target name="jar-all">
1117
        <antcall target="for-all-configs">
1118
            <param name="target.to.call" value="jar"/>
1119
        </antcall>
1120
    </target>
1121
    <target name="build-all">
1122
        <antcall target="for-all-configs">
1123
            <param name="target.to.call" value="build"/>
1124
        </antcall>
1125
    </target>
1126
    <target name="javadoc-all">
1127
        <antcall target="for-all-configs">
1128
            <param name="target.to.call" value="javadoc"/>
1129
        </antcall>
1130
    </target>
1131
    <target name="deploy-all">
1132
        <antcall target="for-all-configs">
1133
            <param name="target.to.call" value="deploy"/>
1134
        </antcall>
1135
    </target>
1136
    <target name="rebuild-all">
1137
        <antcall target="for-all-configs">
1138
            <param name="target.to.call" value="rebuild"/>
1139
        </antcall>
1140
    </target>
1141
    <target name="clean-all">
1142
        <property file="nbproject/project.properties"/>
1143
        <fail unless="build.root.dir">Property build.root.dir is not set. By default its value should be \"build\".</fail>
1144
        <fail unless="dist.root.dir">Property dist.root.dir is not set. By default its value should be \"dist\".</fail>
1145
        <delete dir="${build.root.dir}"/>
1146
        <delete dir="${dist.root.dir}"/>
1147
        <antcall target="for-all-configs">
1148
            <param name="target.to.call" value="clean"/>
1149
        </antcall>
1150
    </target>
1151
</project>