ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.59
Committed: Sun Dec 7 20:49:10 2003 UTC (20 years, 4 months ago) by tim
Content type: text/xml
Branch: MAIN
Changes since 1.58: +162 -134 lines
Log Message:
Test target runs tck tests.
Got rid of lots of old chaff.

File Contents

# User Rev Content
1 tim 1.18 <project name="jsr166" default="usage">
2 tim 1.1
3     <description>
4 tim 1.29 ------------------------------------------------------------------------------
5     Build file for JSR-166
6 tim 1.18
7 tim 1.29 Usage: ant [target]
8    
9     User-specific settings are read from user.properties.
10 tim 1.32 See user.properties.sample for an explanation of some useful settings.
11 tim 1.29 ------------------------------------------------------------------------------
12 tim 1.18 </description>
13 tim 1.11
14 tim 1.29 <target name="usage" description="Advises user to run with -projecthelp">
15     <echo>Run "ant -projecthelp" for full usage information.</echo>
16     </target>
17 tim 1.3
18 tim 1.11
19 tim 1.27 <!-- User-specific settings -->
20 tim 1.23 <property file="user.properties"/>
21 tim 1.27
22 tim 1.1
23     <!-- Compilation options -->
24 tim 1.11 <property name="build.sourcelevel" value="1.5"/>
25 tim 1.1 <property name="build.debug" value="true"/>
26     <property name="build.debuglevel" value="source,lines,vars"/>
27 tim 1.13 <property name="build.deprecation" value="false"/>
28 tim 1.1
29     <!-- Build locations -->
30     <property name="build.dir" location="build"/>
31     <property name="build.classes.dir" location="${build.dir}/classes"/>
32     <property name="build.testcases.dir" location="${build.dir}/testcases"/>
33     <property name="build.lib.dir" location="${build.dir}/lib"/>
34     <property name="build.ant.dir" location="${build.dir}/ant"/>
35 tim 1.9 <property name="build.javadocs.dir" location="${build.dir}/javadocs"/>
36 tim 1.1 <property name="build.reports.dir" location="${build.dir}/reports"/>
37 tim 1.59 <property name="build.checkstyle.dir" location="${build.dir}/checkstyle"/>
38 tim 1.16 <property name="build.doccheck.dir" location="${build.dir}/doccheck"/>
39 tim 1.1 <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>
40 tim 1.58 <property name="build.dc-filter.dir" location="${build.dir}/filterdocchk"/>
41 tim 1.1
42     <!-- Source locations -->
43 tim 1.22 <property name="src.dir" location="${basedir}/src/main"/>
44     <property name="test.src.dir" location="${basedir}/src/test"/>
45 tim 1.1 <property name="ant.src.dir" location="${basedir}/etc/ant"/>
46     <property name="stylesheet.dir" location="${basedir}/etc/xsl"/>
47     <property name="lib.dir" location="${basedir}/lib"/>
48 tim 1.9 <property name="dist.dir" location="${basedir}/dist"/>
49    
50     <!-- Distribution locations -->
51     <property name="dist.javadocs.dir" location="${dist.dir}/docs"/>
52 tim 1.1
53     <!-- Jar locations -->
54     <property name="product.jar" location="${build.lib.dir}/jsr166.jar"/>
55     <property name="junit.jar" location="${lib.dir}/junit.jar"/>
56 tim 1.59
57     <!-- Bootclasspath argument -->
58     <property name="bootclasspath.args" value="-Xbootclasspath/p:${product.jar}"/>
59 tim 1.27
60 tim 1.59 <!-- Test classpath -->
61     <path id="test.classpath">
62     <pathelement location="${build.testcases.dir}"/>
63     <pathelement location="${junit.jar}"/>
64     </path>
65 tim 1.28
66    
67    
68 tim 1.59 <!-- Main targets -->
69 tim 1.28
70 tim 1.11
71 tim 1.28 <target name="compile"
72 tim 1.33 depends="init, configure-compiler, prepare-src"
73 tim 1.27 description="Compiles main sources to build folder">
74    
75 tim 1.1 <mkdir dir="${build.classes.dir}"/>
76 tim 1.27
77 tim 1.33 <javac srcdir="${prepare.src.dir}"
78 tim 1.1 destdir="${build.classes.dir}"
79     debug="${build.debug}"
80     debuglevel="${build.debuglevel}"
81     deprecation="${build.deprecation}"
82     source="${build.sourcelevel}"
83     fork="true">
84    
85 tim 1.58 <compilerarg line="${build.args}"/>
86 tim 1.1
87     </javac>
88 tim 1.27
89 tim 1.1 </target>
90    
91    
92 tim 1.59
93 tim 1.28 <target name="jar"
94 tim 1.59 depends="compile"
95     description="Builds library jar from compiled sources">
96    
97     <mkdir dir="${build.lib.dir}"/>
98    
99     <jar destfile="${product.jar}">
100     <fileset dir="${build.classes.dir}"/>
101     </jar>
102    
103     </target>
104    
105 tim 1.1
106    
107 tim 1.28 <target name="test"
108 tim 1.32 depends="init, configure-tests, report-tests"
109 tim 1.29 description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />
110 tim 1.1
111    
112 tim 1.59
113     <target name="docs"
114     description="Builds javadocs with custom tags to build folder">
115    
116     <delete dir="${build.javadocs.dir}"/>
117     <mkdir dir="${build.javadocs.dir}"/>
118    
119     <javadoc destdir="${build.javadocs.dir}"
120     link="http://java.sun.com/j2se/1.4.1/docs/api"
121     overview="${src.dir}/intro.html"
122     source="${build.sourcelevel}">
123    
124     <tag name="revised" description="Last revised:"/>
125     <tag name="spec" description="Specified by:"/>
126    
127     <packageset dir="${src.dir}"/>
128    
129     </javadoc>
130    
131     </target>
132    
133    
134    
135 tim 1.28 <target name="checkstyle"
136     depends="filter-src"
137 tim 1.18 description="Reports on style errors in Java source (verbose, mostly chaff)">
138 tim 1.27
139 tim 1.15 <taskdef resource="checkstyletask.properties"
140 tim 1.58 classpath="${lib.dir}/checkstyle-all-3.1.jar"/>
141 tim 1.15
142 tim 1.58 <mkdir dir="${build.checkstyle.dir}"/>
143    
144     <checkstyle config="etc/checkstyle/sun_checks.xml"
145     failOnViolation="false">
146     <formatter type="xml" toFile="${build.checkstyle.dir}/checkstyle-report.xml"/>
147 tim 1.15 <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>
148     </checkstyle>
149 tim 1.58
150     <style in="${build.checkstyle.dir}/checkstyle-report.xml"
151     out="${build.checkstyle.dir}/checkstyle-report.html"
152     style="${stylesheet.dir}/checkstyle-frames.xsl"/>
153 tim 1.27
154 tim 1.15 </target>
155    
156 tim 1.16
157 tim 1.59
158 tim 1.28 <target name="doccheck"
159 tim 1.47 depends="filter-doccheck"
160     description="Reports on javadoc style errors">
161 tim 1.27
162 tim 1.16 <delete dir="${build.doccheck.dir}"/>
163     <mkdir dir="${build.doccheck.dir}"/>
164 tim 1.27
165 tim 1.16 <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"
166     docletpath="${lib.dir}/doccheck.jar"
167     destdir="${build.doccheck.dir}">
168 tim 1.58 <packageset dir="${build.dc-filter.dir}"/>
169 tim 1.16 </javadoc>
170 tim 1.27
171 tim 1.48 <echo>DocCheck output is in ${build.doccheck.dir}</echo>
172    
173 tim 1.16 </target>
174    
175 tim 1.59
176 tim 1.8
177 tim 1.28 <target name="dist"
178     depends="init, dist-clean, dist-jar, dist-docs"
179 tim 1.16 description="Puts all distributable products in single hierarchy"/>
180 tim 1.1
181 tim 1.58
182 tim 1.59
183 tim 1.42 <target name="release"
184     depends="dist"
185     description="Puts entire CVS tree, plus distribution productions, in a jar">
186    
187     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
188    
189     <jar basedir="${basedir}" destfile="${release.jar}">
190 tim 1.58 <!-- <exclude name="build/**"/> -->
191 tim 1.42 <exclude name="${release.jar}"/>
192     <exclude name="user.properties"/>
193     <exclude name="etc/notes/**"/>
194 tim 1.58 <exclude name="src/emulation/**"/>
195 tim 1.44 <exclude name="**/SyntaxTest.java"/>
196 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
197 tim 1.42 </jar>
198    
199     </target>
200 tim 1.1
201 tim 1.59
202    
203 tim 1.11 <target name="clean"
204     description="Removes all build products">
205 tim 1.27
206 tim 1.11 <delete dir="${build.dir}"/>
207     <delete dir="${build.classes.dir}"/>
208     <delete dir="${build.lib.dir}"/>
209 tim 1.27
210 tim 1.1 </target>
211    
212    
213 tim 1.59
214 tim 1.11 <target name="dist-clean"
215     description="Removes all build and distribution products">
216 tim 1.27
217 tim 1.11 <delete dir="${dist.dir}"/>
218 tim 1.27
219 tim 1.9 </target>
220 tim 1.10
221    
222 tim 1.59
223 tim 1.28 <target name="dist-docs"
224     description="Builds javadocs without custom tags to dist folder">
225    
226     <delete dir="${dist.javadocs.dir}"/>
227     <mkdir dir="${dist.javadocs.dir}"/>
228    
229     <javadoc destdir="${dist.javadocs.dir}"
230 tim 1.59 link="http://java.sun.com/j2se/1.4.2/docs/api"
231 tim 1.28 overview="${src.dir}/intro.html"
232 tim 1.59 source="${build.sourcelevel}">
233 tim 1.28
234 tim 1.59 <packageset dir="${src.dir}"/>
235 tim 1.14
236 tim 1.28 </javadoc>
237 tim 1.14
238     </target>
239    
240    
241 tim 1.28
242 tim 1.11 <!-- Internal targets -->
243 tim 1.9
244 tim 1.16
245 tim 1.32 <target name="init">
246 tim 1.27
247 tim 1.11 <!-- Version is kept in a separate file -->
248     <loadfile property="version" srcFile="version.properties"/>
249     <echo>Building JSR-166 version ${version}</echo>
250 tim 1.54 <echo>java.home is ${java.home}</echo>
251 tim 1.27
252     </target>
253    
254    
255 tim 1.28 <target name="dist-jar"
256     depends="clean, jar">
257 tim 1.27
258 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
259 tim 1.27
260 tim 1.11 </target>
261    
262    
263 tim 1.28 <target name="compile-ant-filter"
264     depends="init">
265 tim 1.27
266 tim 1.1 <mkdir dir="${build.ant.dir}"/>
267 tim 1.27
268 tim 1.1 <javac srcdir="${ant.src.dir}"
269     destdir="${build.ant.dir}"
270     source="1.4"
271     />
272 tim 1.27
273 tim 1.1 </target>
274    
275    
276 tim 1.28 <target name="filter-src"
277     depends="compile-ant-filter">
278 tim 1.27
279 tim 1.1 <mkdir dir="${build.filter.src.dir}"/>
280 tim 1.27
281 tim 1.1 <copy todir="${build.filter.src.dir}">
282     <fileset dir="${src.dir}">
283 tim 1.31 <include name="**/*.html"/>
284     </fileset>
285     </copy>
286    
287     <copy todir="${build.filter.src.dir}">
288     <fileset dir="${src.dir}">
289     <exclude name="**/*.html"/>
290 tim 1.59 <!-- Files excluded from dist-docs -->
291     <exclude name="java/util/Random.*"/>
292     <exclude name="sun/misc/Unsafe.*"/>
293 tim 1.1 </fileset>
294 tim 1.59 <!--
295 tim 1.1 <filterchain>
296 tim 1.59 -->
297 tim 1.36
298     <!--
299     # This filter gets rid of angle-bracketed type parameters
300     # so that javadoc can run on the result. The following
301     # heuristic seems to work:
302     #
303     # For all lines not starting with space(s)-asterisk-space(s),
304     # replace <something> with a space, where there may be more
305     # than one right angle bracket at the end, and "something"
306     # must not contain parens or pipes. (This may need some
307     # tweaking.)
308     -->
309    
310 tim 1.59 <!--
311 tim 1.1 <filterreader classname="jsr166.ant.filters.ReplaceFilter"
312     classpath="${build.ant.dir}">
313     <param name="notmatching" value="^\s+\*\s.*$"/>
314 tim 1.36 <param name="pattern" value="&lt;[^|>()]+?>+"/>
315 tim 1.1 <param name="replacement" value=" "/>
316     </filterreader>
317 tim 1.59 -->
318 tim 1.36
319 tim 1.59 <!--
320 tim 1.47 </filterchain>
321 tim 1.59 -->
322 tim 1.47 </copy>
323    
324     </target>
325    
326    
327     <target name="filter-doccheck"
328     depends="filter-src">
329 tim 1.36
330 tim 1.58 <mkdir dir="${build.dc-filter.dir}"/>
331 tim 1.36
332 tim 1.58 <copy todir="${build.dc-filter.dir}">
333 tim 1.47 <fileset dir="${build.filter.src.dir}">
334     <include name="**/*.html"/>
335     </fileset>
336     </copy>
337    
338     <property name="generic.declarations"
339     value="/** Fake type parameter. */ public interface E {} /** Fake type parameter. */ public interface T {} /** Fake type parameter. */ public interface K {} /** Fake type parameter. */ public interface V {}"
340     />
341    
342 tim 1.58 <copy todir="${build.dc-filter.dir}">
343 tim 1.47 <fileset dir="${build.filter.src.dir}">
344     <exclude name="**/*.html"/>
345     </fileset>
346     <filterchain>
347 tim 1.36 <!--
348 tim 1.47 # These two filters try to make the source look like
349 tim 1.36 # something that doccheck can process. The first removes
350     # -source 1.4 assertions and the second adds in a bunch
351     # of single letter public nested marker interfaces so that
352     # the generic type parameters are recognized.
353     -->
354    
355     <filterreader classname="jsr166.ant.filters.ReplaceFilter"
356     classpath="${build.ant.dir}">
357     <param name="matching" value="^\s*assert[\s ].*$"/>
358     <param name="pattern" value="assert"/>
359     <param name="replacement" value="//assert"/>
360     </filterreader>
361    
362     <filterreader classname="jsr166.ant.filters.ReplaceFilter"
363     classpath="${build.ant.dir}">
364 tim 1.47 <param name="matching" value="^([^*]*(class|interface|implements) .*|)\{.*$"/>
365 tim 1.36 <param name="pattern" value="$"/>
366     <param name="replacement" value=" ${generic.declarations}"/>
367     </filterreader>
368    
369 tim 1.1 </filterchain>
370     </copy>
371 tim 1.27
372 tim 1.1 </target>
373    
374    
375 tim 1.28 <target name="compile-tests"
376     depends="jar">
377 tim 1.27
378 tim 1.1 <mkdir dir="${build.testcases.dir}"/>
379 tim 1.37
380 tim 1.59 <javac srcdir="${test.src.dir}/tck"
381 tim 1.1 destdir="${build.testcases.dir}"
382     debug="${build.debug}"
383     debuglevel="${build.debuglevel}"
384     deprecation="${build.deprecation}"
385     source="${build.sourcelevel}"
386     fork="true">
387    
388 tim 1.59 <compilerarg value="${bootclasspath.args}"/>
389 tim 1.57 <compilerarg line="${build.args}"/>
390 tim 1.59
391 tim 1.57 <classpath refid="test.classpath"/>
392 tim 1.1
393     </javac>
394 tim 1.27
395 tim 1.1 </target>
396 tim 1.11
397 tim 1.1
398 tim 1.28 <target name="run-tests"
399     depends="compile-tests">
400 tim 1.27
401     <!-- May be overridden by user.properties -->
402     <property name="testcase" value="*"/>
403    
404 tim 1.1 <mkdir dir="${build.reports.dir}"/>
405 tim 1.27
406 tim 1.1 <junit printsummary="true"
407     showoutput="true"
408     errorProperty="junit.failed"
409     failureProperty="junit.failed"
410 tim 1.12 dir="${build.reports.dir}"
411     fork="true">
412    
413 tim 1.59 <jvmarg value="${bootclasspath.args}"/>
414    
415     <classpath refid="test.classpath"/>
416 tim 1.1
417     <formatter type="xml"/>
418    
419     <batchtest todir="${build.reports.dir}">
420 tim 1.59 <fileset dir="${test.src.dir}/tck">
421     <include name="${testcase}Test.java"/>
422 tim 1.1 </fileset>
423     </batchtest>
424    
425     </junit>
426 tim 1.27
427 tim 1.1 </target>
428    
429    
430 tim 1.28 <target name="report-tests"
431     depends="run-tests">
432    
433 tim 1.54 <!-- Sets junit.report.format to frames if redirection is present,
434 tim 1.1 otherwise sets it to noframes. -->
435     <available property="junit.report.format"
436     value="frames"
437     classname="org.apache.xalan.lib.Redirect"
438     />
439     <property name="junit.report.format" value="noframes"/>
440    
441     <junitreport todir="${build.reports.dir}">
442     <fileset dir="${build.reports.dir}">
443     <include name="TEST-*.xml"/>
444     </fileset>
445     <report styledir="${stylesheet.dir}"
446     format="${junit.report.format}"
447     todir="${build.reports.dir}"
448     />
449     </junitreport>
450    
451     <fail message="Test Cases Failed" if="junit.failed"/>
452 tim 1.28
453 tim 1.18 </target>
454    
455    
456 tim 1.32 <target name="configure-compiler">
457 tim 1.54
458     <property name="unchecked.option" value="-Xlint:unchecked"/>
459    
460     <condition property="warnunchecked.arg" value="${unchecked.option}">
461 tim 1.57 <istrue value="${build.warnunchecked}"/>
462 tim 1.32 </condition>
463    
464 tim 1.37 <property name="warnunchecked.arg" value=""/>
465 tim 1.54
466 tim 1.34 <condition property="prepare.src.dir" value="${build.dir}/prepare-src">
467 tim 1.35 <istrue value="${build.nothreads}"/>
468 tim 1.34 </condition>
469 tim 1.59
470     <property name="prepare.src.dir" value="${src.dir}"/>
471 tim 1.34
472 tim 1.32
473     <!-- Common options in javac invocations -->
474 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
475 tim 1.33
476     </target>
477    
478    
479     <target name="prepare-src"
480 tim 1.34 depends="configure-compiler"
481 tim 1.33 if="prepare.src.dir">
482    
483     <mkdir dir="${prepare.src.dir}"/>
484     <copy todir="${prepare.src.dir}">
485     <fileset dir="${src.dir}">
486     <exclude name="java/lang/**"/>
487     </fileset>
488     </copy>
489 tim 1.32
490     </target>
491    
492    
493 tim 1.37 <target name="configure-tests"
494     depends="configure-compiler">
495 tim 1.28
496     <!-- junit.framework.Protectable is in JUnit 3.8.1 but not in 3.7 -->
497 tim 1.18 <available property="junit.available"
498 tim 1.28 classname="junit.framework.Protectable"/>
499    
500 tim 1.54 <!-- Xalan -->
501     <available property="xalan.available"
502     classname="org.apache.xalan.Version"/>
503    
504 tim 1.59
505     <!-- Ant 1.6beta and later don't need or want this check -->
506     <!--
507     <fail message="Need JUnit 3.8.1 in ${ant.home}${file.separator}lib to run tests"
508     unless="junit.available"/>
509    
510 tim 1.54 <fail message="Need Xalan 2.5.1 jar in ${ant.home}${file.separator}lib to run tests"
511     unless="xalan.available"/>
512 tim 1.59 -->
513 tim 1.30
514 tim 1.28 </target>
515    
516    
517    
518     <!-- Anthill targets -->
519    
520 tim 1.54 <target name="anthill-build">
521 tim 1.55
522     <!-- Override this in user.properties -->
523     <property name="tiger.home" location="e:/j2sdk1.5.0"/>
524    
525 tim 1.54 <exec resultproperty="result.property" dir="${basedir}" executable="${tiger.home}/bin/java">
526     <arg value="-Xmx256000000"/>
527     <!-- classpath of new JVM -->
528     <arg value="-classpath"/> <arg path="${java.class.path}"/>
529     <!-- location of Ant home directory -->
530     <arg value="-Dant.home=${ant.home}"/>
531     <!-- the Ant main class -->
532     <arg value="org.apache.tools.ant.Main"/>
533     <!-- The build file -->
534     <arg value="-buildfile"/> <arg value="build.xml"/>
535     <!-- the target to build on the new Ant instance -->
536     <arg value="-DJAVA_HOME=${tiger.home}"/>
537     <arg value="do-anthill-build"/>
538     </exec>
539     </target>
540    
541     <target name="do-anthill-build"
542 tim 1.28 depends="jar, test, docs, dist-docs"/>
543    
544     <target name="anthill-publish">
545    
546     <copy todir="${deployDir}/docs/private">
547     <fileset dir="${build.javadocs.dir}"/>
548     </copy>
549    
550     <copy todir="${deployDir}/docs/public">
551     <fileset dir="${dist.javadocs.dir}"/>
552     </copy>
553    
554     <copy tofile="${deployDir}/index.html"
555     file="${basedir}/etc/anthill-index.html"/>
556    
557     <copy todir="${deployDir}/notes">
558     <fileset dir="${basedir}/etc/notes"/>
559     </copy>
560    
561 tim 1.43 </target>
562    
563    
564    
565 tim 1.59 <!-- Backward compatibility, work in progress -->
566    
567 tim 1.43
568 tim 1.59 <target name="compat" depends="jar">
569    
570     <mkdir dir="${build.testcases.dir}"/>
571    
572     <javac srcdir="${test.src.dir}"
573     destdir="${build.testcases.dir}"
574     debug="${build.debug}"
575     debuglevel="${build.debuglevel}"
576     deprecation="${build.deprecation}"
577     source="${build.sourcelevel}"
578     fork="true">
579    
580     <compilerarg value="${bootclasspath.args}"/>
581     <compilerarg line="${build.args}"/>
582    
583     <classpath refid="test.classpath"/>
584    
585     <include name="Compatibility.java"/>
586    
587     </javac>
588    
589    
590     <java classname="Compatibility" fork="true">
591     <jvmarg value="${bootclasspath.args}"/>
592     <classpath refid="test.classpath"/>
593 tim 1.43 </java>
594 tim 1.1 </target>
595    
596 tim 1.59
597    
598     <property name="pretiger.src.dir" location="${build.dir}/pretiger/src"/>
599     <property name="build.pretiger.dir" location="${build.dir}/pretiger/classes"/>
600     <property name="pretiger.jar" location="${build.lib.dir}/jsr166-pretiger.jar"/>
601     <property name="pretiger.sourcelevel" value="1.4"/>
602    
603     <target name="defang"
604     depends="init"
605     description="Generates pre-Tiger compatible source">
606    
607     <delete dir="${pretiger.src.dir}"/>
608     <mkdir dir="${pretiger.src.dir}"/>
609    
610     <exec executable="perl">
611     <arg file="etc/defang.pl"/>
612     <!-- <arg value="-v"/> -->
613     <arg value="-s"/> <arg file="${src.dir}"/>
614     <arg value="-t"/> <arg file="${pretiger.src.dir}"/>
615     </exec>
616    
617     </target>
618    
619     <target name="compile-pretiger"
620     depends="init, configure-compiler, defang"
621     description="Compiles pre-Tiger sources to build folder">
622    
623     <mkdir dir="${build.pretiger.dir}"/>
624    
625     <javac srcdir="${pretiger.src.dir}"
626     destdir="${build.pretiger.dir}"
627     debug="${build.debug}"
628     debuglevel="${build.debuglevel}"
629     deprecation="${build.deprecation}"
630     source="${pretiger.sourcelevel}"
631     fork="true">
632    
633     <compilerarg line="${build.args}"/>
634     <exclude name="**/Thread.java"/>
635    
636     </javac>
637    
638     </target>
639    
640     <target name="pretiger" depends="compile-pretiger">
641    
642     <mkdir dir="${build.lib.dir}"/>
643    
644     <jar destfile="${pretiger.jar}">
645     <fileset dir="${build.pretiger.dir}">
646     </fileset>
647     </jar>
648    
649     </target>
650 tim 1.1
651     </project>