Project

Profile

Help

How to connect?
Download (21.8 KB) Statistics
| Branch: | Tag: | Revision:

he / latest9.3 / build / build.xml @ master

1
<?xml version="1.0" encoding="UTF-8"?>
2

    
3
<project basedir="." default="all" name="Saxon: The XSLT and XQuery Processor"
4
         xmlns:dn="antlib:org.apache.ant.dotnet">
5
    
6
        
7
    <!-- note : Ant 1.7 is needed for this script -->
8
    
9
    <!-- Ant 1.7 introduces a <service> element to allow META-INF/services
10
         directories to be created in JAR files. Unfortunately it is broken,
11
         see http://issues.apache.org/bugzilla/show_bug.cgi?id=41201. The relevant
12
         code here is retained in the form of comments, and can be reinstated
13
         when the bug is fixed. Meanwhile the directories are created manually -->
14
    
15
    <!-- Build file for Saxon. This builds all six for the released products:
16
         Saxon-HE, -PE, and -EE, on both the Java and .NET platforms. It also builds
17
         the released resources file. A full build requires access to Saxonica
18
         proprietary source code. The open source Saxon-HE product can be built for
19
         Java using target "hej"; but building Saxon-HE for .NET may require some
20
         disentangling of tasks that depend on Saxon-EE code being present. -->
21
         
22
    <!-- Useful targets:
23
    
24
         prepare      clears temporary directories, generates fixed files
25
         j            builds executables for Saxon on Java
26
         n            builds executables for Saxon on .NET
27
         build        builds all executables
28
         resources    builds samples and documentation
29
         release      builds ZIP files for published downloads, runs regression tests
30
         archive      produces a back-up archive  -->
31
             
32
         
33
    <!-- Naming conventions:
34
         -n   : .NET
35
         -j   : Java
36
         -he  : Home Edition
37
         -pe  : Professional Edition
38
         -ee  : Enterprise Edition
39
         combined as appropriate, so -pej denotes Saxon-PE on the Java platform
40
    -->
41
    
42
    <import file="build-constants.xml"/>
43
    
44
    <!-- If building for only one platform, 
45
       (a) remove one of the imports below
46
       (b) remove dependencies on targets in that build file, which are always suffixed -j or -n respectively 
47
    -->
48
       
49
    <import file="build-j.xml"/>
50
    <import file="build-n.xml"/>     
51
    <import file="test-j.xml"/>
52
    <import file="test-n.xml"/>     
53
    
54

    
55
    
56
    <target name="clean" description="Clean all files other than source code and downloaded jars.">
57
        <delete dir="${temp.dir}"/>
58
        <delete dir="${product.dir}"/>
59
        <mkdir dir="${product.dir}"/>
60
    </target>
61
    
62
    <target name="prepare" description="Create 'fixed' files in build libraries"
63
      depends="clean, prepare-n, prepare-j"/>
64
      
65
    
66
    <target name="download" description="Download third-party jar files.">
67
        <get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"
68
            dest="${lib.dir}/dom4j-1.6.1.jar" verbose="true"/>
69

    
70
        <get src="http://www.ibiblio.org/maven/jdom/jars/jdom-1.0.jar"
71
            dest="${lib.dir}/jdom-1.0.jar" verbose="true"/>
72

    
73
        <get src="http://www.cafeconleche.org/XOM/xom-1.2.6.jar" dest="${lib.dir}/xom-1.2.6.jar"
74
            verbose="true"/>
75
            
76
        <get src="http://dist.codehaus.org/stax/jars/stax-api-1.0.1.jar" dest="${lib.dir}/stax-api-1.0.1.jar"
77
            verbose="true"/> 
78
            
79
            <!-- TODO: add servlet.jar, ant.jar -->   
80
            
81
    </target>                   
82
    
83
    <target name="samples-common" description="Assemble Cross-Platform Samples and Use-Cases">
84
            <mkdir dir="${build-resources.dir}/samples"/>
85
      <copy todir="${product.dir}/resources/use-cases">
86
        <fileset dir="${usecases.dir}"/>
87
      </copy>
88
      <copy todir="${product.dir}/resources/samples">
89
        <fileset dir="${samples.dir}">
90
          <!-- stuff tends to gather in samples, so only select what's needed to be issued -->
91
          <include name="analysis/timing-profile.xsl"/>
92
          <include name="config/config.xml"/>
93
          <include name="data/books.xml"/>
94
          <include name="data/othello.xml"/>
95
          <include name="data/books.xsd"/>
96
          <include name="data/books.dtd"/>
97
          <include name="data/play.dtd"/>
98
          <include name="query/tour.xq"/>
99
          <include name="query/books.xq"/>
100
          <include name="query/books-to-html.xq"/>
101
          <include name="scm/scmschema.*"/>
102
          <include name="styles/books.xsl"/>
103
          <include name="styles/books.txt"/>
104
          <include name="styles/play.xsl"/>
105
          <include name="styles/identity.xsl"/>
106
          <include name="styles/books-csv.xsl"/>
107
          <include name="styles/books-sa.xsl"/>
108
          <include name="styles/books-sql.xsl"/>
109
          <include name="styles/tour.xsl"/>
110
          <include name="styles/summarize.xsl"/>
111
          <include name="trax/xml/**/*.xml"/>
112
          <include name="trax/xsl/**/*.xsl"/>
113
          <include name="trax/xsl/**/preamble.txt"/>
114
          <include name="trax/xsl/**/postamble.txt"/>
115
        </fileset>
116
      </copy>
117
    </target>
118
    
119
    <!-- The Saxonica build creates a cross-platform samples directory, but it's separated
120
         by platform in case a platform-specific build is needed -->
121
    
122
    
123
    <target name="samples" depends="samples-j, samples-n"/>
124
    
125
    <target name="notices" description="Copy legal notices">
126
          <copy todir="${build-resources.dir}/doc">
127
        <fileset dir="${userdoc.dir}/fixed"/>
128
      </copy>
129
      <copy todir="${build-resources.dir}/doc">
130
        <fileset dir="${userdoc.dir}/style">
131
            <include name="make-menu.xsl"/>
132
        </fileset>
133
      </copy> 
134
          <copy todir="${product.dir}/hej">
135
        <fileset dir="${userdoc.dir}/welcome">
136
          <include name="doc/**"/>
137
          <include name="notices/CERN.txt"/>
138
          <include name="notices/JAMESCLARK.txt"/>
139
          <include name="notices/LEGAL.txt"/>
140
          <include name="notices/LICENSE.txt"/>
141
          <include name="notices/THAI.txt"/>
142
          <include name="notices/UNICODE.txt"/>
143
        </fileset>
144
      </copy>
145
      <copy todir="${product.dir}/pej">
146
        <fileset dir="${userdoc.dir}/welcome">
147
          <include name="doc/**"/>
148
          <include name="notices/CERN.txt"/>
149
          <include name="notices/JAMESCLARK.txt"/>
150
          <include name="notices/LEGAL.txt"/>
151
          <include name="notices/LICENSE.txt"/>
152
          <include name="notices/THAI.txt"/>
153
          <include name="notices/UNICODE.txt"/>
154
        </fileset>
155
      </copy>
156
      <copy todir="${product.dir}/eej">
157
        <fileset dir="${userdoc.dir}/welcome">
158
          <include name="doc/**"/>
159
          <include name="notices/CERN.txt"/>
160
          <include name="notices/JAMESCLARK.txt"/>
161
          <include name="notices/LEGAL.txt"/>
162
          <include name="notices/LICENSE.txt"/>
163
          <include name="notices/THAI.txt"/>
164
          <include name="notices/UNICODE.txt"/>
165
        </fileset>
166
      </copy>
167
      <copy todir="${product.dir}/hen">
168
        <fileset dir="${userdoc.dir}/welcome">
169
          <include name="doc/**"/>
170
          <include name="notices/CERN.txt"/>
171
          <include name="notices/JAMESCLARK.txt"/>
172
          <include name="notices/LEGAL.txt"/>
173
          <include name="notices/LICENSE.txt"/>
174
          <include name="notices/THAI.txt"/>
175
          <include name="notices/UNICODE.txt"/>
176
          <include name="notices/APACHE-XERCES.txt"/>
177
          <include name="notices/FRIJTERS.txt"/>
178
          <include name="notices/GPL+CLASSPATH.txt"/>
179
        </fileset>
180
      </copy>
181
      <copy todir="${product.dir}/pen">
182
        <fileset dir="${userdoc.dir}/welcome">
183
          <include name="doc/**"/>
184
          <include name="notices/CERN.txt"/>
185
          <include name="notices/JAMESCLARK.txt"/>
186
          <include name="notices/LEGAL.txt"/>
187
          <include name="notices/LICENSE.txt"/>
188
          <include name="notices/THAI.txt"/>
189
          <include name="notices/UNICODE.txt"/>
190
          <include name="notices/APACHE-XERCES.txt"/>
191
          <include name="notices/FRIJTERS.txt"/>
192
          <include name="notices/GPL+CLASSPATH.txt"/>
193
        </fileset>
194
      </copy>
195
      <copy todir="${product.dir}/een">
196
        <fileset dir="${userdoc.dir}/welcome">
197
          <include name="doc/**"/>
198
          <include name="notices/CERN.txt"/>
199
          <include name="notices/JAMESCLARK.txt"/>
200
          <include name="notices/LEGAL.txt"/>
201
          <include name="notices/LICENSE.txt"/>
202
          <include name="notices/THAI.txt"/>
203
          <include name="notices/UNICODE.txt"/>
204
          <include name="notices/APACHE-XERCES.txt"/>
205
          <include name="notices/FRIJTERS.txt"/>
206
          <include name="notices/GPL+CLASSPATH.txt"/>
207
        </fileset>
208
      </copy>        
209
        
210
    </target>    
211
   
212
    
213
    <target name="release-userdoc" description="Generate User Documentation">
214
          <copy todir="${build-resources.dir}/doc">
215
        <fileset dir="${userdoc.dir}/fixed"/>
216
      </copy>
217
      <copy todir="${build-resources.dir}/doc">
218
        <fileset dir="${userdoc.dir}/style">
219
            <include name="make-menu.xsl"/>
220
        </fileset>
221
      </copy> 
222
          <copy todir="${product.dir}/hej">
223
        <fileset dir="${userdoc.dir}/welcome">
224
          <include name="doc/**"/>
225
          <include name="notices/CERN.txt"/>
226
          <include name="notices/JAMESCLARK.txt"/>
227
          <include name="notices/LEGAL.txt"/>
228
          <include name="notices/LICENSE.txt"/>
229
          <include name="notices/THAI.txt"/>
230
          <include name="notices/UNICODE.txt"/>
231
        </fileset>
232
      </copy>
233
      <copy todir="${product.dir}/pej">
234
        <fileset dir="${userdoc.dir}/welcome">
235
          <include name="doc/**"/>
236
          <include name="notices/CERN.txt"/>
237
          <include name="notices/JAMESCLARK.txt"/>
238
          <include name="notices/LEGAL.txt"/>
239
          <include name="notices/LICENSE.txt"/>
240
          <include name="notices/THAI.txt"/>
241
          <include name="notices/UNICODE.txt"/>
242
        </fileset>
243
      </copy>
244
      <copy todir="${product.dir}/eej">
245
        <fileset dir="${userdoc.dir}/welcome">
246
          <include name="doc/**"/>
247
          <include name="notices/CERN.txt"/>
248
          <include name="notices/JAMESCLARK.txt"/>
249
          <include name="notices/LEGAL.txt"/>
250
          <include name="notices/LICENSE.txt"/>
251
          <include name="notices/THAI.txt"/>
252
          <include name="notices/UNICODE.txt"/>
253
        </fileset>
254
      </copy>
255
      <copy todir="${product.dir}/hen">
256
        <fileset dir="${userdoc.dir}/welcome">
257
          <include name="doc/**"/>
258
          <include name="notices/CERN.txt"/>
259
          <include name="notices/JAMESCLARK.txt"/>
260
          <include name="notices/LEGAL.txt"/>
261
          <include name="notices/LICENSE.txt"/>
262
          <include name="notices/THAI.txt"/>
263
          <include name="notices/UNICODE.txt"/>
264
          <include name="notices/APACHE-XERCES.txt"/>
265
          <include name="notices/FRIJTERS.txt"/>
266
          <include name="notices/GPL+CLASSPATH.txt"/>
267
        </fileset>
268
      </copy>
269
      <copy todir="${product.dir}/pen">
270
        <fileset dir="${userdoc.dir}/welcome">
271
          <include name="doc/**"/>
272
          <include name="notices/CERN.txt"/>
273
          <include name="notices/JAMESCLARK.txt"/>
274
          <include name="notices/LEGAL.txt"/>
275
          <include name="notices/LICENSE.txt"/>
276
          <include name="notices/THAI.txt"/>
277
          <include name="notices/UNICODE.txt"/>
278
          <include name="notices/APACHE-XERCES.txt"/>
279
          <include name="notices/FRIJTERS.txt"/>
280
          <include name="notices/GPL+CLASSPATH.txt"/>
281
        </fileset>
282
      </copy>
283
      <copy todir="${product.dir}/een">
284
        <fileset dir="${userdoc.dir}/welcome">
285
          <include name="doc/**"/>
286
          <include name="notices/CERN.txt"/>
287
          <include name="notices/JAMESCLARK.txt"/>
288
          <include name="notices/LEGAL.txt"/>
289
          <include name="notices/LICENSE.txt"/>
290
          <include name="notices/THAI.txt"/>
291
          <include name="notices/UNICODE.txt"/>
292
          <include name="notices/APACHE-XERCES.txt"/>
293
          <include name="notices/FRIJTERS.txt"/>
294
          <include name="notices/GPL+CLASSPATH.txt"/>
295
        </fileset>
296
      </copy>
297
      <dependset>
298
        <!-- rerun the XSLT transformations if any input files have changed -->
299
        <srcfilelist
300
           dir   = "${userdoc.dir}/src/"
301
           files = "*.xml"/>
302
        <srcfilelist
303
           dir   = "${userdoc.dir}/style/"
304
           files = "*.xsl"/>
305
        <targetfileset
306
           dir      = "${product.dir}/resources/doc/"
307
           includes = "dummy.html"/>
308
        <targetfileset
309
           dir      = "${userdoc.dir}/src/"
310
           includes = "functions.xml"/>
311
        <targetfileset
312
           dir      = "${userdoc.dir}/src/"
313
           includes = "index-entries.xml, FeatureKeysDoc.xml"/>
314
    </dependset>  
315
      <xslt in="${userdoc.dir}/src/function-data2.xml"
316
            style="${userdoc.dir}/style/preprocess-functions2.xsl"
317
            out="${userdoc.dir}/src/functions.xml"
318
            classpath="e:\saxon-build\9.2.1.5\eej\saxon9ee.jar;c:\saxon-licenses">
319
            <factory name="com.saxonica.config.EnterpriseTransformerFactory">
320
                <attribute name="http://saxon.sf.net/feature/xsltSchemaAware" value="true"/>
321
                <attribute name="http://saxon.sf.net/feature/schema-validation-mode" value="strict"/>
322
                <attribute name="http://saxon.sf.net/feature/xsd-version" value="1.1"/>
323
            </factory>
324
      </xslt>
325
      <xslt in="${userdoc.dir}/src/catalog.xml"
326
            style="${userdoc.dir}/style/index-builder.xsl"
327
            out="${userdoc.dir}/src/index-entries.xml"
328
            classpath="e:\saxon-build\9.2.1.5\eej\saxon9ee.jar;c:\saxon-licenses">
329
            <factory name="com.saxonica.config.EnterpriseTransformerFactory">
330
                <attribute name="http://saxon.sf.net/feature/xsltSchemaAware" value="true"/>
331
                <attribute name="http://saxon.sf.net/feature/schema-validation-mode" value="strict"/>
332
                <attribute name="http://saxon.sf.net/feature/xsd-version" value="1.1"/>
333
            </factory>
334
      </xslt>
335
      <xslt in="${userdoc.dir}/src/FeatureKeys.xml"
336
            style="${userdoc.dir}/style/FeatureKeysToDoc.xsl"
337
            out="${userdoc.dir}/src/FeatureKeysDoc.xml"
338
            classpath="e:\saxon-build\9.2.1.5\eej\saxon9ee.jar;c:\saxon-licenses">
339
            <factory name="com.saxonica.config.EnterpriseTransformerFactory">
340
                <attribute name="http://saxon.sf.net/feature/xsltSchemaAware" value="true"/>
341
                <attribute name="http://saxon.sf.net/feature/schema-validation-mode" value="lax"/>
342
                <attribute name="http://saxon.sf.net/feature/xsd-version" value="1.1"/>
343
            </factory>
344
      </xslt>
345
      <xslt in="${userdoc.dir}/src/catalog.xml"
346
            style="${userdoc.dir}/style/page-splitter.xsl"
347
            out="${product.dir}/resources/doc/dummy.html"
348
            classpath="e:\saxon-build\9.2.1.2\eej\saxon9ee.jar;c:\saxon-licenses">
349
            <factory name="com.saxonica.config.EnterpriseTransformerFactory">
350
                <attribute name="http://saxon.sf.net/feature/xsltSchemaAware" value="true"/>
351
                <attribute name="http://saxon.sf.net/feature/timing" value="true"/>
352
                <attribute name="http://saxon.sf.net/feature/schema-validation-mode" value="lax"/>
353
                <attribute name="http://saxon.sf.net/feature/xsd-version" value="1.1"/>
354
                <attribute name="http://saxon.sf.net/feature/recognize-uri-query-parameters" value="true"/>
355
            </factory>
356
      </xslt>
357
 
358
          <zip zipfile="${build-resources.dir}/source-userdoc.zip">
359
                  <fileset dir="${userdoc.dir}">
360
                    <include name="**/*.xml"/>
361
                    <include name="**/*.xsl"/>
362
                    <include name="**/*.xsd"/>
363
                    <include name="**/*.css"/>
364
                    <include name="fixed/**"/>
365
                    <include name="welcome/**"/>
366
                  </fileset>
367
         </zip>                               
368
    </target>
369
    
370
    <target name="release-source" description="Generate Zip file containing issued Source Code">
371
      <zip zipfile="${product.dir}/saxon${versionh}source.zip">
372
        <fileset dir="${source-hej.dir}">
373
           <include name="net/**/*.java"/>
374
           <include name="net/**/package.html"/>
375
        </fileset>
376
        <fileset dir="${temp-src-nc.dir}">
377
           <include name="api/**/*.cs"/>
378
           <include name="cmd/**/*.cs"/>
379
        </fileset>   
380
      </zip>
381
      <zip zipfile="e:/repo/src/ee/releases/saxonee${versionh}source.zip">
382
        <fileset dir="${source-eej.dir}">
383
           <include name="com/saxonica/**/*.java"/>
384
           <include name="com/saxonica/**/package.html"/>
385
        </fileset>
386
      </zip>
387
    </target>
388
    
389
    <target name="resources" description="Generate contents of released resources file"
390
              depends="release-userdoc, product-javadoc, product-dotnetdoc,
391
                       samples, samples-j, testdrivers-j,  release-source">  <!-- samples-n, -->
392
      <mkdir dir="${product.dir}/resources/build"/>
393
      <copy todir="${product.dir}/resources/build">
394
        <fileset dir="${basedir}">
395
          <include name="build.xml"/>
396
          <include name="ikvmc.cmd"/>
397
          <include name="csharp-compile.cmd"/>
398
        </fileset>  
399
      </copy>
400
      <copy todir="${product.dir}/resources">
401
        <fileset dir="${userdoc.dir}/welcome">
402
          <include name="notices/**"/>
403
        </fileset>
404
      </copy>
405
    </target>  
406
      
407
    <target name="build" description="Complete Saxon product build"
408
              depends="j, n"/> 
409
      
410
    <target name="test" description="Run regression tests"
411
        depends="test-j, test-n"/>           
412
      
413
    <target name="release" description="Create .ZIP files for release"
414
        depends="build, notices, release-source, release-j, release-n"
415
        >  
416
        <!-- add test -->
417
        <!-- omits "resources" for maintenance releases -->
418
        
419
      <mkdir dir="${issue.dir}"/> 
420
      <!-- <zip zipfile="${issue.dir}/saxonhe${versionh}j.zip">
421
        <fileset dir="${product.dir}/hej"/>
422
      </zip>
423
      <zip zipfile="${issue.dir}/saxonhe${versionh}n.zip">
424
        <fileset dir="${product.dir}/hen"/>
425
      </zip>
426
      <zip zipfile="${issue.dir}/saxonpe${versionh}j.zip">
427
        <fileset dir="${product.dir}/pej"/>
428
      </zip>                     
429
      <zip zipfile="${issue.dir}/saxonpe${versionh}n.zip">
430
        <fileset dir="${product.dir}/pen"/>
431
      </zip>
432
          <zip zipfile="${issue.dir}/saxonee${versionh}j.zip">
433
        <fileset dir="${product.dir}/eej"/>
434
      </zip>                     
435
      <zip zipfile="${issue.dir}/saxonee${versionh}n.zip">
436
        <fileset dir="${product.dir}/een"/>
437
      </zip>-->
438
      <zip zipfile="${issue.dir}/saxon-resources${major.versionh}.zip">
439
        <fileset dir="${product.dir}/resources"/>
440
      </zip>
441
      <copy file="${product.dir}/saxon${versionh}source.zip" todir="${issue.dir}"/>
442
    </target>
443
    
444
    <target name="archive" description="Archive everything needed for backup"> 
445
      <mkdir dir="${archive.dir}"/>
446
      <copy file="archive-contents.txt" todir="${archive.dir}"/>
447
      <replace file="${archive.dir}/archive-contents.txt"
448
                 token="N-N-N-N"
449
                 value="${version}"
450
                 summary="yes"/>
451
      <copy todir="${archive.dir}">
452
       <fileset dir="${issue.dir}"/>
453
       <fileset dir="${source-eej.dir}" includes="saxonee${version}source.zip"/>
454
       <fileset dir="${build-resources.dir}" includes="saxon${version}source.zip"/>
455
      </copy>
456
      <zip zipfile="${archive.dir}/testsuite.zip">
457
        <fileset dir="e:/tests">
458
          <include name="testsuite/**"/>
459
          <include name="gold/**"/>
460
        </fileset>
461
      </zip>        
462
      <zip zipfile="${archive.dir}/schematests.zip">
463
        <fileset dir="e:/tests">
464
          <include name="xmlschema2006-11-06/**"/>
465
          <exclude name="xmlschema2006-11-06/msData/**"/>
466
          <exclude name="xmlschema2006-11-06/sunData/**"/>
467
          <exclude name="xmlschema2006-11-06/nistData/**"/>
468
        </fileset>
469
      </zip>
470
      <zip zipfile="${archive.dir}/querytests.zip">
471
        <fileset dir="e:/tests/xqts-extra"/>
472
        <fileset dir="e:/xqts/saxon">
473
          <exclude name="results/**"/>
474
          <exclude name="results.net/**"/>
475
          <exclude name="**/java/**"/>
476
        </fileset>
477
        <fileset dir="e:/xquts/saxon">
478
          <exclude name="results/**"/>
479
          <exclude name="results.net/**"/>
480
        </fileset>
481
      </zip>
482
      <zip zipfile="${archive.dir}/xslttests.zip">
483
        <fileset dir="e:/xslts-extra"/>
484
        <fileset dir="e:/xslt20-test/TestSuiteStagingArea/SaxonResults">
485
          <include name="*.xml"/>
486
          <include name="*.xsl"/>
487
        </fileset>
488
        <fileset dir="e:/xslt20-test/TestSuiteStagingArea/SaxonResults.Net">
489
          <include name="*.xml"/>
490
          <include name="*.xsl"/>
491
        </fileset>
492
      </zip>
493
      <zip zipfile="${archive.dir}/javatests.zip">
494
        <fileset dir="c:/MyJava/testcode"/>
495
      </zip>
496
      <zip zipfile="${archive.dir}/doc.zip">
497
        <fileset dir="c:/MyJava/doc"/>
498
      </zip>
499
      <zip zipfile="${archive.dir}/licensetool.zip">
500
        <fileset dir="c:/MyJava/licensetool"/>
501
      </zip>
502
      <zip zipfile="${archive.dir}/dotnetmake.zip">
503
        <fileset dir="e:/MyDotNet/make"/>
504
      </zip>      
505
      <zip zipfile="${archive.dir}/licenses.zip">
506
        <fileset dir="c:/saxon-licenses">
507
            <exclude name="archived-licenses/**"/>
508
            <exclude name="licenses/**"/>
509
        </fileset>    
510
      </zip>
511
      <zip zipfile="${archive.dir}/build.zip">
512
        <fileset dir="c:/MyJava/build">
513
          <exclude name="c:/MyJava/build/temp/**"/>
514
        </fileset>
515
      </zip>
516
    </target>  
517
      
518
       
519
    
520
</project>
(4-4/6)