1
<?xml version="1.0" encoding="UTF-8"?>
2
<project name="AccessODF" default="jar" basedir="."
3
xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3">
5
<description>Builds, tests, and runs the project extension project.</description>
7
<fail message="Please build using Ant 1.8.0 or higher.">
8
<condition><not><antversion atleast="1.8.0"/></not></condition>
11
<tstamp><format property="ISO-TODAY" pattern="yyyy-MM-dd"/></tstamp>
13
<property name="project-name" value="AccessODF"/>
14
<property name="release-version" value="0.1.0"/>
16
<property name="on-debian" value="false"/>
19
/- ===========================================================================
21
/- ===========================================================================
25
<target name="uno-package"
26
description="Create UNO extension package"
27
depends="addon-jar,images,registry,-delete-uno-package,-pre-uno-package,-do-uno-package,-post-uno-package"/>
29
<target name="uno-run"
30
description="Run UNO extension package in OpenOffice.org"
31
depends="uno-package,-run-oo"/>
33
<target name="addon-jar"
34
description="Build Addon jar"
35
depends="-uno-project-init,uno-idl-compile,-jar-idl-types,core-jar,compile,-pre-jar,-do-openoffice-manifest,-post-jar,-do-addon-jar" />
37
<target name="core-jar"
38
description="Build Core jar"
39
depends="init,-build-core" />
42
description="Default target: Build Core jar"
45
<target name="javadoc"
46
description="Build Javadoc"
47
depends="init,-javadoc-build" />
49
<target name="compile"
50
description="Compile project"
51
depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" />
54
description="Re-encode localisation files">
55
<ant dir="l10n" inheritAll="false" />
58
<target name="licenses"
59
description="Add license headers">
60
<ant dir="licenses" inheritAll="false" />
65
/- ===========================================================================
67
/- ===========================================================================
71
<target name="-pre-init" depends="-init-build,-copy-external-jars"/>
72
<target name="-pre-compile"/>
73
<target name="-post-uno-package"/>
74
<target name="-profile-post-init"/>
75
<target name="-profile-pre-init"/>
76
<target name="-post-init"/>
77
<target name="-pre-uno-package"/>
78
<target name="-post-compile"/>
79
<target name="-post-jar"/>
80
<target name="-pre-jar"/>
81
<target name="-post-compile-test"/>
82
<target name="-pre-compile-test"/>
83
<target name="-post-clean"/>
86
<!-- =========================================================================== -->
90
<target name="-init-build"
91
depends="-windows-properties,-macosx-properties,-linux-properties,-debian-properties">
93
<property file="build.properties"/>
95
<pathconvert property="project.home">
99
<pathconvert property="core.deploy.dir">
100
<path path="${dist.dir}/${external.jar.dir}"/>
103
<pathconvert property="core.classpath.attribute" pathsep=" " dirsep="/">
104
<path path="${javac.core.classpath}"/>
107
<globmapper from="${project.home}/*" to="*" handledirsep="yes" />
110
<globmapper from="${core.deploy.dir}/*" to="*"/>
111
<globmapper from="/*" to="file:///*"/>
112
<globmapper from="*" to="file:///*"/>
116
<pathconvert property="addon.classpath.attribute" pathsep=" " dirsep="/">
117
<path path="${core.deploy.dir}/${core.jar}"/>
119
<globmapper from="${project.home}/${dist.dir}/*" to="*" handledirsep="yes" />
120
<globmapper from="/*" to="file:///*"/>
121
<globmapper from="*" to="file:///*"/>
125
<pathconvert property="tools.classpath.attribute" pathsep=" " dirsep="/">
126
<path path="${core.deploy.dir}/${core.jar}"/>
128
<globmapper from="${project.home}/${dist.dir}/*" to="*" handledirsep="yes" />
129
<globmapper from="/*" to="file:///*"/>
130
<globmapper from="*" to="file:///*"/>
134
<available file="${dist.dir}${file.separator}${external.jar.dir}"
135
property="external.jar.dir.exists"/>
138
<!-- load platform dependent properties -->
139
<target name="-windows-properties" if="is.windows" depends="-detect-os">
140
<property file="build.windows.properties"/>
143
<target name="-macosx-properties" if="is.macosx" depends="-detect-os">
144
<property file="build.macosx.properties"/>
147
<target name="-linux-properties" if="is.linux" depends="-detect-os">
148
<property file="build.linux.properties"/>
151
<target name="-debian-properties" if="is.debian" depends="-detect-os">
152
<property file="build.debian.properties"/>
157
<target name="-detect-os">
158
<condition property="is.windows">
159
<os family="windows"/>
161
<condition property="is.macosx">
167
<condition property="is.linux">
170
<not><os family="mac"/></not>
171
<not><istrue value="${on-debian}"/></not>
174
<condition property="is.debian">
177
<not><os family="mac"/></not>
178
<istrue value="${on-debian}"/>
184
<!-- make external jars folder -->
185
<target name="-copy-external-jars" depends="-init-build" unless="external.jar.dir.exists">
186
<pathconvert property="core.classpath.space.sep" pathsep=" ">
187
<path path="${javac.core.classpath}"/>
188
<map from="${project.home}${file.separator}" to=""/>
190
<mkdir dir="${dist.dir}${file.separator}${external.jar.dir}" />
191
<copy todir="${dist.dir}${file.separator}${external.jar.dir}" flatten="true">
192
<fileset dir="." includes="${core.classpath.space.sep}"/>
196
<!-- compile core -->
197
<target name="-compile-core" depends="-init-build">
198
<delete dir="${build.core.classes.dir}"/>
199
<mkdir dir="${build.core.classes.dir}"/>
200
<javac srcdir="${src.core.dir}" destdir="${build.core.classes.dir}"
201
includeantruntime="false" debug="true" encoding="UTF-8"
202
source="${javac.source}" target="${javac.target}"
203
includes="**" excludes="">
205
<path path="${javac.core.classpath}"/>
208
<copy todir="${build.core.classes.dir}">
209
<fileset dir="${src.core.dir}">
211
<include name="META-INF/**/*.*"/>
212
<include name="**/*.properties"/>
213
<include name="**/*.xsl"/>
214
<include name="**/*.xml"/>
215
<include name="**/*.rng"/>
216
<exclude name="**/*.java"/>
222
<!-- build core jar -->
223
<target name="-build-core" depends="-compile-core">
224
<delete file="${dist.core.jar}"/>
225
<jar destfile="${dist.core.jar}">
226
<fileset dir="${build.core.classes.dir}"/>
228
<attribute name="Built-By" value="${user.name}"/>
229
<attribute name="Built-On" value="${ISO-TODAY}"/>
230
<attribute name="Implementation-Title" value="${project.name}"/>
231
<attribute name="Implementation-Version" value="${release-version}"/>
232
<attribute name="Implementation-URL" value="http://accessodf.sourceforge.net"/>
233
<attribute name="Class-Path" value="${core.classpath.attribute}"/>
240
/- ===========================================================================
241
/- BUILD_UNO_IMPL.XML
242
/- ===========================================================================
246
<target name="-uno-project-init" depends="-do-init">
248
<property name="build.uno.version" value="2.0.6"/>
250
<property name="office.unopkg" value="${office.program.dir}${file.separator}unopkg"/>
251
<property name="office.soffice" value="${office.program.dir}${file.separator}soffice"/>
253
<property name="sdk.idl.dir" location="${oo.sdk.dir}${file.separator}idl"/>
254
<property name="sdk.idlc" value="${sdk.bin.dir}${file.separator}idlc"/>
255
<property name="sdk.regmerge" value="${ure.bin.dir}${file.separator}regmerge"/>
256
<property name="sdk.javamaker" value="${sdk.bin.dir}${file.separator}javamaker"/>
258
<dirname property="project.dir" file="build.xml"/>
259
<property name="uno.package.name" value="${project.dir}${file.separator}${dist.dir}${file.separator}${project.name}.oxt"/>
260
<property name="src.addon.dir.absolute" value="${project.dir}${file.separator}${src.addon.dir}"/>
262
<property name="idl.out" value="${project.dir}${file.separator}${build.dir}${file.separator}idl"/>
263
<property name="idl.classes.dir" value="${project.dir}${file.separator}${build.addon.classes.dir}"/>
264
<property name="idl.out.urd" value="${idl.out}/urd"/>
265
<property name="idl.out.rdb" value="${idl.out}/rdb"/>
266
<property name="idl.rdb.name" value="types.rdb"/>
267
<property name="idl.rdb.fullpath" value="${idl.out.rdb}/${idl.rdb.name}"/>
269
<property name="images.base.dir" value="${build.dir}/img"/>
270
<property name="build.registry.dir" value="${build.dir}/cpreg"/>
272
<mkdir dir="${idl.out}"/>
273
<mkdir dir="${idl.out.urd}"/>
274
<mkdir dir="${idl.out.rdb}"/>
275
<mkdir dir="${images.base.dir}"/>
276
<mkdir dir="${build.registry.dir}"/>
278
<condition property="oo.version.three">
279
<equals arg1="${oo.version.number}" arg2="three"/>
283
<!-- handle images -->
284
<target name="-uno-images-condition" description="check images" depends="-uno-project-init">
285
<available file="${images.dir}" type="dir" property="images.required"/>
288
<target name="images" description="copy images" depends="-uno-images-condition" if="images.required">
289
<mkdir dir="${images.base.dir}/${images.dir}"/>
290
<copy todir="${images.base.dir}/${images.dir}">
291
<fileset dir="${images.dir}"/>
295
<!-- handle xcu/xcs files with package names -->
296
<target name="-uno-registryfiles-condition" description="check xcu and xcs files" depends="-uno-project-init">
297
<available file="${registry.dir}" type="dir" property="xcuxcs.required"/>
300
<target name="registry" description="copy registry files" depends="-uno-registryfiles-condition" if="xcuxcs.required">
301
<mkdir dir="${build.registry.dir}/${registry.dir}"/>
302
<copy todir="${build.registry.dir}/${registry.dir}">
303
<fileset dir="${registry.dir}" includes="**/*.xcu,**/*.xcs"/>
307
<target name="-uno-idl-idlc-condition" description="check idlc dependencies" depends="-uno-project-init">
308
<uptodate property="idlc.notRequired" targetfile ="${build.dir}/idlc.compile">
309
<srcfiles dir= "${src.addon.dir}" includes="**/*.idl"/>
313
<!-- compile UNO idl files: execution -->
314
<target name="-uno-idl-idlc" description="Compile the IDL Conditionally" depends="-uno-idl-idlc-condition" unless="idlc.notRequired">
315
<apply executable="${sdk.idlc}" dir="${office.program.dir}" failonerror="true">
316
<env key="PATH" path="${office.tool.path}"/>
317
<env key="LD_LIBRARY_PATH" path="${office.tool.path}"/>
318
<env key="DYLD_LIBRARY_PATH" path="${office.tool.path}"/>
321
<arg value="${idl.out.urd}"/>
323
<arg value="${src.addon.dir.absolute}"/>
325
<arg value="${sdk.idl.dir}"/>
326
<fileset dir="${src.addon.dir}" includes="**/*.idl" casesensitive="yes" id="idl.list.id"/>
328
<!-- list for copying idl files in own jar -->
329
<property name="idl.file" refid="idl.list.id"/>
330
<propertyfile file="${idl.out}/idl_list.properties">
331
<entry key="idl.file.list" value="${idl.file}"/>
333
<replace file="${idl.out}/idl_list.properties" token=".idl" value=".class"/>
334
<replace file="${idl.out}/idl_list.properties" token=";" value=","/>
337
<!-- merge urd files: execution -->
338
<target name="-uno-idl-regmerge" description="Merge urd Files Conditionally" depends="-uno-idl-idlc,-uno-idl-idlc-condition" unless="idlc.notRequired">
339
<!-- to only extract the new files, delete the old rdb -->
340
<delete file="${idl.rdb.fullpath}"/>
341
<apply executable="${sdk.regmerge}" dir="${office.program.dir}" failonerror="true">
342
<env key="PATH" path="${office.tool.path}"/>
343
<env key="LD_LIBRARY_PATH" path="${office.tool.path}"/>
344
<env key="DYLD_LIBRARY_PATH" path="${office.tool.path}"/>
345
<arg file="${idl.rdb.fullpath}"/>
347
<fileset dir="${idl.out.urd}" includes="**/*.urd" casesensitive="yes"/>
351
<!-- should javamaker be executed -->
352
<target name="-uno-idl-javamaker-condition" description="check if rdb was created" depends="-uno-idl-regmerge,-uno-idl-idlc-condition">
353
<available file="${idl.rdb.name}" filepath="${idl.out.rdb}" property="javamaker.Required"/>
356
<!-- generate Java class files from type library: execution -->
357
<target name="-uno-idl-javamaker" depends="-uno-idl-regmerge,-uno-idl-idlc-condition,-uno-idl-javamaker-condition" if="javamaker.Required" unless="idlc.notRequired">
358
<echo message="generating java class files from rdb..."/>
359
<exec executable="${sdk.javamaker}" dir="${office.program.dir}" failonerror="true">
360
<env key="PATH" path="${office.tool.path}"/>
361
<env key="LD_LIBRARY_PATH" path="${office.tool.path}"/>
362
<env key="DYLD_LIBRARY_PATH" path="${office.tool.path}"/>
365
<arg value="${idl.classes.dir}"/>
366
<arg file="${idl.rdb.fullpath}"/>
367
<arg value="${oo.unotypes.rdb}"/>
368
<arg value="${oo.offapi.rdb}"/>
372
<target name="-uno-idl-result" depends="-uno-idl-javamaker">
373
<touch file="${build.dir}/idlc.compile"/>
374
<echo message="build UNO idl files finished"/>
377
<!-- the main target, called in recursive builds -->
378
<target name="uno-idl-compile" description="Compiles UNO idl files" depends="-uno-idl-result"/>
380
<target name="-jar-idl-types" depends="-do-uno-types" unless="no.idl.files">
381
<mkdir dir="${dist.dir}"/>
382
<jar basedir="${build.addon.classes.dir}" compress="true" jarfile="${dist.dir}/${idl_types.jar}" includes="${idl.file.list}">
384
<attribute name="UNO-Type-Path" value="<>"/>
389
<target name="-do-addon-jar">
390
<jar basedir="${build.addon.classes.dir}"
393
manifest="${build.dir}/MANIFEST.MF"
394
jarfile="${dist.addon.jar}"
395
excludes="**/*.xml,**/*.txt,${idl.file.list},${build.classes.excludes}"/>
398
<target name="-do-openoffice-manifest" depends="-do-registration,-do-class-path"/>
400
<!-- enter the class path with external jars -->
401
<target name="-do-class-path">
402
<manifest file="${build.dir}/MANIFEST.MF" mode="update">
403
<attribute name="Class-Path" value="${addon.classpath.attribute}"/>
407
<!-- enter idl type definitions -->
408
<target name="-do-uno-types" depends="-do-empty-unopath,-do-idl-unopath"/>
409
<target name="-do-idl-unopath" depends="-check-uno-types" if="own.idl.files">
410
<manifest file="${build.dir}/MANIFEST.MF" mode="update">
411
<attribute name="UNO-Type-Path" value="${idl_types.jar}"/>
414
<target name="-do-empty-unopath" depends="-check-uno-types" if="no.idl.files">
415
<manifest file="${build.dir}/MANIFEST.MF" mode="update">
416
<attribute name="UNO-Type-Path" value=""/>
419
<target name="-check-uno-types">
420
<property file="${idl.out}/idl_list.properties"/>
421
<condition property="no.idl.files">
422
<equals arg1="${idl.file.list}" arg2="" trim="true"/>
424
<condition property="own.idl.files">
426
<istrue value="${no.idl.files}"/>
431
<!-- enter the registration classes. Do nothing when the project is old -->
432
<target name="-do-registration" depends="-do-central-registration"
433
if="new.project.registration">
434
<manifest file="${build.dir}/MANIFEST.MF" mode="update">
435
<section name="${slash.registration.class}">
436
<attribute name="RegistrationClasses" value="${registration.classname}"/>
441
<!-- enter the registration class name. Do nothing when the project is old -->
442
<target name="-do-central-registration" depends="-do-old-project-registration" if="new.project.registration">
443
<property name="regclass.properties" value="${build.dir}/regclass.properties"/>
444
<propertyfile file="${regclass.properties}">
445
<entry key="dot.registration" value="${slash.registration.class}"/>
447
<replace file="${regclass.properties}" token=".class" value=""/>
448
<replace file="${regclass.properties}" token="/" value="."/>
449
<property file="${regclass.properties}"/>
450
<manifest file="${build.dir}/MANIFEST.MF" mode="update">
451
<attribute name="RegistrationClassName" value="${dot.registration}"/>
455
<!-- Do the registration for older projects without a central registration class -->
456
<target name="-do-old-project-registration" depends="-check-for-old-project" if="old.project.registration">
457
<manifest file="${build.dir}/MANIFEST.MF" mode="update">
458
<attribute name="RegistrationClassName" value="${registration.classname}"/>
461
<target name="-check-for-old-project">
462
<!-- central registration class in project -->
463
<fileset id="registration.class.name" dir="${build.addon.classes.dir}">
465
<include name="**/CentralRegistrationClass.class"/>
468
<property name="systemslash.registration.class" refid="registration.class.name"/>
469
<!-- make forward slash from backslash on Windows -->
470
<property name="regclass.properties" value="${build.dir}/regclass.properties"/>
471
<propertyfile file="${regclass.properties}">
472
<entry key="slash.registration.class" value="${systemslash.registration.class}"/>
474
<replace file="${regclass.properties}" token="\\" value="/"/>
475
<property file="${regclass.properties}"/>
476
<!-- now slash is ok -->
477
<condition property="old.project.registration">
478
<equals trim="true" arg1="${slash.registration.class}" arg2=""/>
480
<condition property="new.project.registration">
481
<isfalse value="${old.project.registration}"/>
485
<target name="-delete-uno-package">
486
<delete failonerror="false" file="${uno.package.name}"/>
489
<target name="-license-exists">
490
<available file="${project.dir}/${licenses.dir}" type="dir" property="do.license"/>
493
<!-- test for licenses dir is necessary because zipfileset fails if dir not there -->
494
<target name="-uno-package-with-license" depends="-license-exists" if="do.license">
495
<zip update="true" destfile="${uno.package.name}">
496
<zipfileset dir="${project.dir}/${licenses.dir}" includes="**" casesensitive="yes" prefix="${licenses.dir}"/>
500
<target name="-description-exists">
501
<available file="${project.dir}/${description.dir}" type="dir" property="do.description"/>
504
<!-- test for description dir is necessary because zipfileset fails if dir not there -->
505
<target name="-uno-package-with-description" depends="-description-exists" if="do.description">
506
<zip update="true" destfile="${uno.package.name}">
507
<zipfileset dir="${project.dir}/${description.dir}" includes="**" casesensitive="yes" prefix="${description.dir}"/>
511
<target name="-help-exists">
512
<available file="${project.dir}/${help.dir}" type="dir" property="do.help"/>
515
<!-- test for help dir is necessary because zipfileset fails if dir not there -->
516
<target name="-uno-package-with-help" depends="-help-exists" if="do.help">
517
<zip update="true" destfile="${uno.package.name}">
518
<zipfileset dir="${help.dir}" includes="${help.content.extensions}" prefix="${help.dir}"/>
522
<target name="-dialogs-exists">
523
<available file="${project.dir}/${dialogs.dir}" type="dir" property="do.dialogs"/>
526
<!-- test for dialogs dir is necessary because zipfileset fails if dir not there -->
527
<target name="-uno-package-with-dialogs" depends="-dialogs-exists" if="do.dialogs">
528
<zip update="true" destfile="${uno.package.name}">
529
<zipfileset dir="${dialogs.dir}" includes="${dialog.content.extensions}" prefix="dialogs"/>
533
<target name="-do-uno-package"
534
description="Creates UNO extension pacakge"
535
depends="-uno-package-with-license,-uno-package-with-help,-uno-package-with-dialogs,-uno-package-with-description">
536
<zip update="true" destfile="${uno.package.name}">
537
<fileset dir="${src.addon.dir}" includes="${manifest.package.extensions}" casesensitive="yes"/>
538
<fileset dir="${build.registry.dir}" casesensitive="yes"/>
539
<fileset dir="${src.addon.dir}" includes="description.xml" casesensitive="yes"/>
540
<fileset dir="${dist.dir}" includes="**/*.jar" casesensitive="yes"/>
541
<fileset dir="${images.base.dir}" includes="**" casesensitive="yes"/>
542
<fileset dir="${idl.out.rdb}" includes="**/*.rdb" casesensitive="yes"/>
543
<zipfileset dir="${src.addon.dir}" includes="uno-extension-manifest.xml" fullpath="META-INF/manifest.xml"/>
547
<!-- subtargets for different office versions -->
548
<target name="-run-oo">
549
<echo message="${office.unopkg} gui -f ${uno.package.name}"/>
550
<exec dir="${office.program.dir}" executable="${office.unopkg}" failonerror="true">
553
<arg file="${uno.package.name}"/>
555
<echo message="${office.soffice}"/>
556
<exec executable="${office.soffice}" dir="${office.program.dir}" failonerror="true">
557
<arg value="${office.startup.options}"/>
563
/- ===========================================================================
565
/- ===========================================================================
569
<target depends="-pre-init" name="-do-init">
571
<property name="run.jvmargs" value=""/>
572
<property name="javac.compilerargs" value=""/>
573
<property name="work.dir" value="${basedir}"/>
574
<condition property="no.deps">
576
<istrue value="${no.dependencies}"/>
579
<property name="javac.debug" value="true"/>
580
<property name="application.args" value=""/>
581
<property name="source.encoding" value="${file.encoding}"/>
582
<property name="runtime.encoding" value="${source.encoding}"/>
583
<condition property="javadoc.encoding.used" value="${javadoc.encoding}">
585
<isset property="javadoc.encoding"/>
587
<equals arg1="${javadoc.encoding}" arg2=""/>
591
<property name="javadoc.encoding.used" value="${source.encoding}"/>
592
<property name="includes" value="**"/>
593
<property name="excludes" value=""/>
594
<property name="do.depend" value="false"/>
595
<condition property="do.depend.true">
596
<istrue value="${do.depend}"/>
598
<path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
599
<condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
600
<length length="0" string="${endorsed.classpath}" when="greater"/>
602
<condition else="false" property="jdkBug6558476">
604
<matches pattern="1\.[56]" string="${java.specification.version}"/>
610
<property name="javac.fork" value="${jdkBug6558476}"/>
611
<property name="jar.index" value="false"/>
612
<property name="jar.index.metainf" value="${jar.index}"/>
613
<available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
616
<target depends="-pre-init,-do-init" name="-init-check">
617
<fail unless="src.addon.dir">Must set src.addon.dir</fail>
618
<fail unless="test.src.dir">Must set test.src.dir</fail>
619
<fail unless="build.dir">Must set build.dir</fail>
620
<fail unless="dist.dir">Must set dist.dir</fail>
621
<fail unless="build.addon.classes.dir">Must set build.addon.classes.dir</fail>
622
<fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
623
<fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
624
<fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
625
<fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
626
<fail unless="dist.addon.jar">Must set dist.addon.jar</fail>
629
<target name="-init-macrodef-javac">
631
<macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
632
<attribute default="${src.addon.dir}" name="srcdir"/>
633
<attribute default="${build.addon.classes.dir}" name="destdir"/>
634
<attribute default="${javac.addon.classpath}" name="classpath"/>
635
<attribute default="${includes}" name="includes"/>
636
<attribute default="${excludes}" name="excludes"/>
637
<attribute default="${javac.debug}" name="debug"/>
638
<attribute default="${empty.dir}" name="sourcepath"/>
639
<attribute default="${empty.dir}" name="gensrcdir"/>
640
<element name="customize" optional="true"/>
642
<property location="${build.dir}/empty" name="empty.dir"/>
643
<mkdir dir="${empty.dir}"/>
644
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
646
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
651
<path path="@{classpath}"/>
653
<compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
654
<compilerarg line="${javac.compilerargs}"/>
660
<macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
661
<attribute default="${src.addon.dir}" name="srcdir"/>
662
<attribute default="${build.addon.classes.dir}" name="destdir"/>
663
<attribute default="${javac.addon.classpath}" name="classpath"/>
665
<depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
667
<path path="@{classpath}"/>
673
<macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
674
<attribute default="${build.addon.classes.dir}" name="destdir"/>
676
<fail unless="javac.includes">Must set javac.includes</fail>
677
<pathconvert pathsep="${line.separator}" property="javac.includes.binary">
679
<filelist dir="@{destdir}" files="${javac.includes}"/>
681
<globmapper from="*.java" to="*.class"/>
683
<tempfile deleteonexit="true" property="javac.includesfile.binary"/>
684
<echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
686
<files includesfile="${javac.includesfile.binary}"/>
689
<fileset file="${javac.includesfile.binary}"/>
695
<target name="-init-macrodef-junit">
696
<macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
697
<attribute default="${includes}" name="includes"/>
698
<attribute default="${excludes}" name="excludes"/>
699
<attribute default="**" name="testincludes"/>
701
<property name="junit.forkmode" value="perTest"/>
702
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
703
<batchtest todir="${build.test.results.dir}">
704
<fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
705
<filename name="@{testincludes}"/>
709
<path path="${run.test.classpath}"/>
712
<propertyref prefix="test-sys-prop."/>
713
<mapper from="test-sys-prop.*" to="*" type="glob"/>
715
<formatter type="brief" usefile="false"/>
716
<formatter type="xml"/>
717
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
718
<jvmarg value="-ea"/>
719
<jvmarg line="${run.jvmargs}"/>
725
<target name="init" depends="-pre-init,-do-init,-post-init,-init-check,-init-macrodef-javac,-init-macrodef-junit"/>
733
<target name="-deps-jar-init" unless="built-jar.properties">
734
<property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
735
<delete file="${built-jar.properties}" quiet="true"/>
737
<target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
738
<echo level="warn" message="Cycle detected: AccessODFAddOn was already built"/>
740
<target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
741
<mkdir dir="${build.dir}"/>
742
<touch file="${built-jar.properties}" verbose="false"/>
743
<property file="${built-jar.properties}" prefix="already.built.jar."/>
744
<antcall target="-warn-already-built-jar"/>
745
<propertyfile file="${built-jar.properties}">
746
<entry key="${basedir}" value=""/>
749
<target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
750
<target depends="init" name="-check-automatic-build">
751
<available file="${build.addon.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
753
<target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
754
<antcall target="clean"/>
756
<target depends="init,deps-jar" name="-pre-pre-compile">
757
<mkdir dir="${build.addon.classes.dir}"/>
760
<target if="do.depend.true" name="-compile-depend">
761
<pathconvert property="build.generated.subdirs">
762
<dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
766
<j2seproject3:depend srcdir="${src.addon.dir}:${build.generated.subdirs}"/>
768
<target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" name="-do-compile">
769
<j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
770
<copy todir="${build.addon.classes.dir}">
771
<fileset dir="${src.addon.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
774
<target if="has.persistence.xml" name="-copy-persistence-xml">
775
<mkdir dir="${build.addon.classes.dir}/META-INF"/>
776
<copy todir="${build.addon.classes.dir}/META-INF">
777
<fileset dir="${meta.inf.dir}" includes="persistence.xml"/>
787
<target depends="init" name="-javadoc-build">
788
<mkdir dir="${dist.javadoc.dir}"/>
789
<javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
791
<path path="${javac.addon.classpath}"/>
793
<fileset dir="${src.addon.dir}" excludes="${excludes}" includes="${includes}">
794
<filename name="**/*.java"/>
796
<fileset dir="${src.core.dir}" excludes="${excludes}" includes="${includes}">
797
<filename name="**/*.java"/>
799
<fileset dir="${src.tools.dir}" excludes="${excludes}" includes="${includes}">
800
<filename name="**/*.java"/>
802
<fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
803
<include name="**/*.java"/>
806
<copy todir="${dist.javadoc.dir}">
807
<fileset dir="${src.addon.dir}" excludes="${excludes}" includes="${includes}">
808
<filename name="**/doc-files/**"/>
810
<fileset dir="${src.core.dir}" excludes="${excludes}" includes="${includes}">
811
<filename name="**/doc-files/**"/>
813
<fileset dir="${src.tools.dir}" excludes="${excludes}" includes="${includes}">
814
<filename name="**/*.java"/>
816
<fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
817
<include name="**/doc-files/**"/>
823
=========================
824
JUNIT COMPILATION SECTION
825
=========================
828
<target depends="init,-compile-core" name="-pre-pre-compile-test">
829
<mkdir dir="${build.test.classes.dir}"/>
832
<target if="do.depend.true" name="-compile-test-depend">
833
<j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
835
<target depends="init,-compile-core,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" name="-do-compile-test">
836
<j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
837
<copy todir="${build.test.classes.dir}">
838
<fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
842
<target depends="init,-compile-core,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
845
=======================
846
JUNIT EXECUTION SECTION
847
=======================
850
<target depends="init" name="-pre-test-run">
851
<mkdir dir="${build.test.results.dir}"/>
853
<target depends="init,compile-test,-pre-test-run" name="-do-test-run">
854
<j2seproject3:junit testincludes="**/*Test.java"/>
856
<target depends="init,compile-test,-pre-test-run,-do-test-run" name="-post-test-run">
857
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
860
<!-- make html report from test results -->
861
<target depends="init" name="-test-report">
862
<delete dir="${build.test.report.dir}"/>
863
<mkdir dir="${build.test.report.dir}"/>
864
<junitreport todir="${build.test.report.dir}">
865
<fileset dir="${build.test.results.dir}">
866
<include name="TEST-*.xml" />
868
<report todir="${build.test.report.dir}" />
878
<target name="-deps-clean-init" unless="built-clean.properties">
879
<property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
880
<delete file="${built-clean.properties}" quiet="true"/>
882
<target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
883
<echo level="warn" message="Cycle detected: AccessODFAddOn was already built"/>
885
<target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
886
<mkdir dir="${build.dir}"/>
887
<touch file="${built-clean.properties}" verbose="false"/>
888
<property file="${built-clean.properties}" prefix="already.built.clean."/>
889
<antcall target="-warn-already-built-clean"/>
890
<propertyfile file="${built-clean.properties}">
891
<entry key="${basedir}" value=""/>
894
<target depends="init" name="-do-clean">
895
<delete dir="${build.dir}"/>
896
<delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
899
<target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
900
<target name="-check-call-dep">
901
<property file="${call.built.properties}" prefix="already.built."/>
902
<condition property="should.call.dep">
904
<isset property="already.built.${call.subproject}"/>
908
<target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
909
<ant antfile="${call.script}" inheritall="false" target="${call.target}">
911
<propertyref prefix="transfer."/>
912
<mapper from="transfer.*" to="*" type="glob"/>