xref: /aoo42x/main/saxon/saxon-9.0.0.7-bj.patch (revision 69444ee8)
1--- misc/src/build.xml	2008-07-11 12:11:50.079281000 +0200
2+++ misc/build/src/build.xml	2008-07-11 12:17:29.848740000 +0200
3@@ -1 +1,1020 @@
4-dummy
5+<?xml version="1.0" encoding="UTF-8"?>
6+
7+<project basedir="." default="all" name="Saxon-B The XSLT and XQuery Processor"
8+         xmlns:dn="antlib:org.apache.ant.dotnet">
9+
10+
11+    <!-- TODO *really* Must publish NOTICES directory with patch releases. Should also
12+          publish doc directory, and add a notice concerning Saxon/MPL itself, as per section 3.6 of MPL 1.0 -->
13+
14+    <!--TODO: 1: ensure saxon9api.netmodule is included in the build
15+           2: remove the archive target before shipping this file-->
16+
17+    <!-- note : Ant 1.7 is needed for this script -->
18+
19+    <!-- Ant 1.7 introduces a <service> element to allow META-INF/services
20+         directories to be created in JAR files. Unfortunately it is broken,
21+         see http://issues.apache.org/bugzilla/show_bug.cgi?id=41201. The relevant
22+         code here is retained in the form of comments, and can be reinstated
23+         when the bug is fixed. Meanwhile the directories are created manually -->
24+
25+    <!-- Build file for Saxon. This builds all four for the released products:
26+         Saxon-B and Saxon-SA, on both the Java and .NET platforms. It also builds
27+         the released resources file. A full build requires access to Saxonica
28+         proprietary source code. The open source Saxon-B product can be built for
29+         Java using target "bj"; but building Saxon-B for .NET may require some
30+         disentangling of tasks that depend on Saxon-SA being present. -->
31+
32+    <!-- Useful targets:
33+
34+         clean        clears temporary directories
35+         bj           builds executables for Saxon-B
36+         saj          builds executables for Saxon-B and Saxon-SA
37+         n            builds executables for Saxon on .NET
38+         build        builds all executables
39+         resources    builds samples and documentation
40+         release      builds ZIP files for published downloads
41+         archive      produces a back-up archive  -->
42+
43+
44+    <!-- Naming conventions:
45+         -n   : .NET
46+         -j   : Java
47+         -b   : Saxon-B
48+         -sa  : Saxon-SA
49+         combined as appropriate, so -bj denotes Saxon-B on the Java platform
50+    -->
51+
52+    <property name="version" value="9.0.0.7"/>
53+    <property name="versionh" value="9-0-0-7"/>
54+    <property name="release.date" value="2008-07-03"/>
55+
56+    <!-- following locations are specific to the machine -->
57+
58+		    <!-- root drive for input files-->
59+		    <property name="root" value="."/>
60+
61+		    <!-- root drive for generated files-->
62+		    <property name="troot" value="."/>
63+
64+		    <!-- directory holding Java source code -->
65+		    <property name="development-j.dir" value="${root}/MyJava/saxon8.x"/>
66+
67+		    <!-- directory holding Java source code as in Subversion -->
68+		    <property name="subversion-j.dir" value="${root}"/>
69+
70+		    <!-- directory holding latest patch state of Saxon-SA Java code -->
71+		    <property name="saj-patch.dir" value="${root}/saxon-90-patch"/>
72+
73+		    <!-- directory holding Java test drivers -->
74+		    <property name="drivers-j.dir" value="${root}/MyJava/test"/>
75+
76+		    <!-- directories holding C# source code -->
77+		    <property name="vss-n.dir" value="${root}/Documents and Settings/Mike/My Documents/Visual Studio 2005/Projects/Saxon.Api"/>
78+
79+		    <!-- directory holding C# source code as in Subversion -->
80+		    <property name="subversion-n.dir" value="${root}/saxon-svn/latest9.0/bn/csource"/>
81+
82+		    <!-- directory holding XML user documentation -->
83+		    <property name="userdoc.dir" value="${root}/MyJava/doc/saxon8"/>
84+
85+		    <!-- directory holding .NET API documentation (which is built manually using NDOC -->
86+		    <property name="dotnetdoc.dir" value="${root}/MyDotNet/dotnetdoc"/>
87+
88+		    <!-- directories holding use cases and sample applications -->
89+		    <property name="usercases.dir" value="${root}/MyJava/use-cases"/>
90+		    <property name="samples.dir" value="${root}/MyJava/samples"/>
91+
92+		    <!-- directory in which to build the product for release -->
93+		    <property name="product.dir" value="${troot}/saxon-build/${version}"/>
94+
95+		    <!-- directory in which to build the issued .ZIP files -->
96+		    <property name="issue.dir" value="${troot}/saxon-issues/saxon-issue-${release.date} (${version})"/>
97+
98+		    <!-- location of the C# compiler -->
99+		    <property name="csharp.compiler" value="c:/Windows/Microsoft.NET/Framework/v1.1.4322/csc.exe"/>
100+
101+
102+    <!-- following locations are for IKVMC code used to build the .NET product -->
103+
104+    <property name="development-ikvm.dir" value="${root}/MyDotNet"/>
105+    <property name="ikvm.dir" value="${development-ikvm.dir}/ikvm-0.32.0.0"/>
106+    <property name="generated.stubs.dir" value="${development-ikvm.dir}/stubs"/>
107+    <property name="saxondotnet.snk" value="${development-ikvm.dir}/make/saxondotnet.snk"/>
108+
109+    <!-- Precondition for .NET compilation: IKVM is installed.
110+         * Download from www.ikvm.net
111+         * Unzip into ${development-ikvm.dir}
112+         * Register in the GAC (access the Microsoft .NET Framework Configuration item in the
113+                                Windows Control Panel, and add the assemblies to the Assembly Cache.
114+                                At a minimum, install the IKVM.GNU.Classpath.dll and IKVM.Runtime.dll)
115+         * Generate stubs in ${generated.stubs.dir}
116+           for System.Xml.dll, System.Security.dll, and IKVM.GNU.Classpath.dll
117+    -->
118+
119+    <!-- following locations are relative to the build file -->
120+
121+    <property name="lib.dir" value="libs"/>
122+    <property name="temp.dir" value="temp"/>
123+    <property name="archive.dir" value="archive"/>
124+    <property name="services.dir" value="services"/>
125+    <property name="temp-src-j.dir" value="${temp.dir}/j/source"/>
126+    <property name="temp-src-nj.dir" value="${temp.dir}/n/jsource"/>
127+    <property name="temp-src-nc.dir" value="${temp.dir}/n/csource"/>
128+    <property name="classes-j.dir" value="${temp.dir}/j/classes"/>
129+    <property name="classes-n.dir" value="${temp.dir}/n/classes"/>
130+    <property name="jar-n.dir" value="${temp.dir}/n/jar"/>
131+    <property name="dll-n.dir" value="${temp.dir}/n/dll"/>
132+
133+		<!-- following locations are relative to the destination directory -->
134+
135+		<property name="build-bj.dir" value="${product.dir}/bj"/>
136+		<property name="build-saj.dir" value="${product.dir}/saj"/>
137+		<property name="build-bn.dir" value="${product.dir}/bn"/>
138+		<property name="build-san.dir" value="${product.dir}/san"/>
139+		<property name="build-resources.dir" value="${product.dir}/resources"/>
140+	  <property name="javadoc.dir" value="${build-resources.dir}/doc/javadoc"/>
141+
142+
143+    <property name="build.debug" value="true"/>
144+    <property name="build.debuglevel" value="source,lines,vars"/>
145+    <property name="build.deprecation" value="true"/>
146+    <property name="build.optimize" value="true"/>
147+    <property name="build.compiler.source" value="1.4"/>
148+    <property name="build.compiler.target" value="1.4"/>
149+    <property name="build.s9api.compiler.source" value="1.5"/>
150+    <property name="build.s9api.compiler.target" value="1.5"/>
151+    <property name="build.compress" value="false"/>
152+
153+    <!-- following properties can be switched to determine whether to build from patch source
154+         or from development source -->
155+
156+    <!-- patch source -->
157+
158+    <property name="source-bj.dir" value="${subversion-j.dir}"/>
159+    <property name="source-saj.dir" value="${saj-patch.dir}"/>
160+    <property name="source-api-n.dir" value="${subversion-n.dir}/api/Saxon.Api"/>
161+    <property name="source-cmd-n.dir" value="${subversion-n.dir}/cmd"/>
162+    <property name="source-samples-n.dir" value="${subversion-n.dir}/samples"/>
163+
164+    <!-- development source -->
165+		<!--
166+    <property name="source-bj.dir" value="${development-j.dir}"/>
167+    <property name="source-saj.dir" value="${development-j.dir}"/>
168+    <property name="source-api-n.dir" value="${vss-n.dir}"/>
169+    <property name="source-cmd-n.dir" value="${vss-n.dir}"/>
170+    <property name="source-samples-n.dir" value="${vss-n.dir}"/>
171+    -->
172+
173+    <path id="classpath-n">
174+        <fileset dir="${lib.dir}">
175+            <include name="*.jar"/>
176+        </fileset>
177+        <fileset dir="${ikvm.dir}">
178+        	 <include name="classpath/mscorlib.jar"/>
179+        	 <include name="classpath/System.jar"/>
180+        	 <include name="bin/IKVM.GNU.Classpath.jar"/>
181+        	 <include name="bin/IKVM.Runtime.jar"/>
182+        </fileset>
183+        <fileset dir="${generated.stubs.dir}">
184+        	 <include name="System.Xml.jar"/>
185+        	 <include name="System.Security.jar"/>
186+        </fileset>
187+    </path>
188+
189+    <path id="classpath-samples">
190+        <fileset dir="${lib.dir}">
191+            <include name="*.jar"/>
192+        </fileset>
193+        <fileset dir="${build-saj.dir}">
194+            <include name="*.jar"/>
195+        </fileset>
196+        <!-- Substitute build-bj.dir if there is no requirement to compile the sample applications
197+             that depend on Saxon-SA -->
198+    </path>
199+
200+    <target name="clean" description="Clean all files other than source code and downloaded jars.">
201+        <delete dir="${temp.dir}"/>
202+        <delete dir="${product.dir}"/>
203+        <mkdir dir="${product.dir}"/>
204+    </target>
205+
206+    <target name="download" description="Download third-party jar files.">
207+        <get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"
208+            dest="${lib.dir}/dom4j-1.6.1.jar" verbose="true"/>
209+
210+        <get src="http://www.ibiblio.org/maven/jdom/jars/jdom-1.0.jar"
211+            dest="${lib.dir}/jdom-1.0.jar" verbose="true"/>
212+
213+        <get src="http://www.cafeconleche.org/XOM/xom-1.1.jar" dest="${lib.dir}/xom-1.1.jar"
214+            verbose="true"/>
215+
216+        <get src="http://dist.codehaus.org/stax/jars/stax-api-1.0.1.jar" dest="${lib.dir}/stax-api-1.0.1.jar"
217+            verbose="true"/>
218+
219+            <!-- TODO: add servlet.jar, ant.jar -->
220+
221+    </target>
222+
223+
224+    <target name="copysource-development" description="Copy relevant source files from development directory">
225+        <copy todir="${temp-src-j.dir}">
226+          <fileset dir="${source-bj.dir}">
227+            <include name="net/sf/saxon/**/*.java"/>
228+            <exclude name="**/dotnet/**"/>
229+            <!--<exclude name="**/s9api/**"/>		 s9api needs Java 5 -->
230+            <include name="net/sf/saxon/**/package.html"/>
231+          </fileset>
232+ <!--
233+          <fileset dir="${source-saj.dir}">
234+            <include name="com/saxonica/**/*.java"/>
235+            <exclude name="com/saxonica/validate/DotNetVerifier.java"/>
236+            <include name="com/saxonica/**/package.html"/>
237+          </fileset>
238+ -->
239+        </copy>
240+        <!--
241+        <replace file="${temp-src-j.dir}/com/saxonica/validate/SchemaAwareConfiguration.java"
242+                 token="/*DOTNETONLY*/"
243+                 value="//"
244+                 summary="yes"/>
245+                 -->
246+        <replace file="${temp-src-j.dir}/net/sf/saxon/Configuration.java"
247+                 token="/*DOTNETONLY*/"
248+                 value="//"
249+                 summary="yes"/>
250+        <copy todir="${temp-src-nj.dir}">
251+          <fileset dir="${source-bj.dir}">
252+            <include name="net/sf/saxon/**/*.java"/>
253+            <exclude name="**/ant/**"/>
254+            <exclude name="**/dom/**"/>
255+            <exclude name="**/dom4j/**"/>
256+            <exclude name="**/java/**"/>
257+            <exclude name="**/javax/**"/>
258+            <exclude name="**/jdom/**"/>
259+            <exclude name="**/pull/PullToStax.java"/>
260+            <exclude name="**/pull/StaxBridge.java"/>
261+            <!-- <exclude name="**/s9api/**"/>		s9api needs Java 5 -->
262+            <exclude name="**/xom/**"/>
263+            <exclude name="**/xpath/**"/>
264+            <exclude name="**/xqj/**"/>
265+          </fileset>
266+          <!--
267+					<fileset dir="${source-saj.dir}">
268+            <include name="com/saxonica/extra/*.java"/>
269+            <include name="com/saxonica/fsa/*.java"/>
270+            <include name="com/saxonica/ptree/*.java"/>
271+            <include name="com/saxonica/schema/*.java"/>
272+            <include name="com/saxonica/sdoc/*.java"/>
273+            <include name="com/saxonica/validate/*.java"/>
274+            <include name="com/saxonica/Validate.java"/>
275+          </fileset>-->
276+        </copy>
277+        <!--
278+        <replace file="${temp-src-nj.dir}/com/saxonica/validate/SchemaAwareConfiguration.java"
279+                 token="/*JAVAONLY*/"
280+                 value="//"
281+                 summary="yes"/>
282+                 -->
283+        <replace file="${temp-src-nj.dir}/net/sf/saxon/Configuration.java"
284+                 token="/*JAVAONLY*/"
285+                 value="//"
286+                 summary="yes"/>
287+        <!-- when building from development source
288+        <copy todir="${temp-src-nc.dir}/api">
289+          <fileset dir="${source-api-n.dir}">
290+            <include name="Saxon.Api/*.cs"/>
291+          </fileset>
292+        </copy>
293+
294+        <copy todir="${temp-src-nc.dir}/cmd">
295+          <fileset dir="${source-cmd-n.dir}/Transform">
296+            <include name="*.cs"/>
297+          </fileset>
298+          <fileset dir="${source-cmd-n.dir}/Query">
299+            <include name="*.cs"/>
300+          </fileset>
301+          <fileset dir="${source-cmd-n.dir}/Validate">
302+            <include name="*.cs"/>
303+          </fileset>
304+        </copy>
305+        <copy todir="${temp-src-nc.dir}/samples">
306+          <fileset dir="${source-samples-n.dir}/XQueryExamples">
307+            <include name="*.cs"/>
308+          </fileset>
309+          <fileset dir="${source-samples-n.dir}/XPathExample">
310+            <include name="*.cs"/>
311+          </fileset>
312+          <fileset dir="${source-samples-n.dir}/XsltExamples">
313+            <include name="*.cs"/>
314+          </fileset>
315+          <fileset dir="${source-samples-n.dir}/SchemaExamples">
316+            <include name="*.cs"/>
317+          </fileset>
318+          <fileset dir="${source-samples-n.dir}/XsltTestSuiteDriver">
319+            <include name="*.cs"/>
320+          </fileset>
321+          <fileset dir="${source-samples-n.dir}/XQueryTestSuiteDriver">
322+            <include name="*.cs"/>
323+          </fileset>
324+          <fileset dir="${source-samples-n.dir}/SampleExtensions">
325+            <include name="*.cs"/>
326+          </fileset>
327+        </copy>
328+        -->
329+        <!-- when building from patch source
330+        <copy todir="${temp-src-nc.dir}/api/Saxon.Api">
331+          <fileset dir="${source-api-n.dir}">
332+            <include name="*.cs"/>
333+          </fileset>
334+        </copy>
335+        <copy todir="${temp-src-nc.dir}/cmd" >
336+          <fileset dir="${source-cmd-n.dir}">
337+            <include name="*.cs"/>
338+          </fileset>
339+        </copy>
340+        <copy todir="${temp-src-nc.dir}/samples">
341+          <fileset dir="${source-samples-n.dir}">
342+            <include name="*.cs"/>
343+          </fileset>
344+        </copy>
345+        -->
346+        <!-- -->
347+
348+    </target>
349+
350+    <target name="create-meta-inf" description="Create contents of META-INF/services files">
351+
352+        <!-- given the Ant 1.7.0 bug, create the services files here for copying into the JARS -->
353+        <mkdir dir="${services.dir}/saxon9/META-INF/services"/>
354+        <echo file="${services.dir}/saxon9/META-INF/services/javax.xml.transform.TransformerFactory"
355+              message="net.sf.saxon.TransformerFactoryImpl"/>
356+        <mkdir dir="${services.dir}/saxon9-xpath/META-INF/services"/>
357+        <echo file="${services.dir}/saxon9-xpath/META-INF/services/javax.xml.xpath.XPathFactory"
358+>net.sf.saxon.xpath.XPathFactoryImpl
359+http\://java.sun.com/jaxp/xpath/dom:    net.sf.saxon.xpath.XPathFactoryImpl
360+http\://saxon.sf.net/jaxp/xpath/om:     net.sf.saxon.xpath.XPathFactoryImpl
361+http\://www.xom.nu/jaxp/xpath/xom:      net.sf.saxon.xpath.XPathFactoryImpl
362+http\://jdom.org/jaxp/xpath/jdom:       net.sf.saxon.xpath.XPathFactoryImpl
363+http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl
364+</echo>
365+        <mkdir dir="${services.dir}/saxon9sa/META-INF/services"/>
366+        <echo file="${services.dir}/saxon9sa/META-INF/services/javax.xml.transform.TransformerFactory"
367+              message="com.saxonica.SchemaAwareTransformerFactory"/>
368+        <mkdir dir="${services.dir}/saxon9sa-jaxp/META-INF/services"/>
369+        <echo file="${services.dir}/saxon9sa-jaxp/META-INF/services/javax.xml.validation.SchemaFactory"
370+>com.saxonica.jaxp.SchemaFactoryImpl
371+http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl
372+</echo>
373+
374+
375+    </target>
376+
377+    <target name="compile-bj" description="Compile Saxon-B classes for Java." depends="copysource-development">
378+        <mkdir dir="${classes-j.dir}"/>
379+        <javac encoding="ISO-8859-1" debug="${build.debug}" debuglevel="${build.debuglevel}"
380+            deprecation="${build.deprecation}" destdir="${classes-j.dir}"
381+            optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}"
382+            target="${build.compiler.target}">
383+
384+            <include name="net/**"/>
385+            <exclude name="**/dom/**"/>
386+            <exclude name="**/dom4j/**"/>
387+            <exclude name="**/javax/**"/>
388+            <exclude name="**/jdom/**"/>
389+            <exclude name="**/sql/**"/>
390+            <exclude name="**/xom/**"/>
391+            <exclude name="**/xpath/**"/>
392+            <exclude name="**/xqj/**"/>
393+            <exclude name="**/dotnet/**"/>
394+            <exclude name="**/s9api/**"/>
395+
396+            <exclude name="**/ant/**"/>
397+            <exclude name="**/dotnet/**"/>
398+            <exclude name="**/s9api/**"/>
399+            <classpath>
400+                <path refid="classpath-j"/>
401+            </classpath>
402+        </javac>
403+    </target>
404+
405+    <target name="compile-saj" description="Compile Saxon-SA classes for Java." depends="copysource-development">
406+        <mkdir dir="${classes-j.dir}"/>
407+        <javac debug="${build.debug}"  debuglevel="${build.debuglevel}"
408+            deprecation="${build.deprecation}" destdir="${classes-j.dir}"
409+            optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}"
410+            target="${build.compiler.target}">
411+
412+            <include name="com/saxonica/**"/>
413+            <include name="net/sf/saxon/ant/**"/>
414+            <exclude name="com/saxonica/validate/DotNetVerifier.java"/>
415+            <classpath>
416+                <path refid="classpath-j"/>
417+            </classpath>
418+        </javac>
419+    </target>
420+
421+    <target name="compile-s9api" description="Compile s9api classes for Java."
422+                                 depends="compile-bj, compile-saj, copysource-development">
423+        <!-- Compiling the s9api package requires JDK 1.5 -->
424+        <!-- The bj and saj source must be compiled first to ensure that it is done using 1.4, otherwise
425+             it will be compiled in 1.5 mode because the classes are referenced from the s9api package -->
426+        <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
427+            deprecation="${build.deprecation}" destdir="${classes-j.dir}"
428+            optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.s9api.compiler.source}"
429+            target="${build.s9api.compiler.target}">
430+
431+            <include name="**/s9api/**"/>
432+            <classpath>
433+                <path refid="classpath-j"/>
434+            </classpath>
435+        </javac>
436+    </target>
437+
438+    <target name="compile-bn" description="Compile Saxon-B classes for .NET" depends="copysource-development">
439+        <mkdir dir="${classes-n.dir}"/>
440+        <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
441+            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
442+            optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}"
443+            target="${build.compiler.target}">
444+
445+            <include name="net/**"/>
446+            <exclude name="**/s9api/**"/>
447+            <classpath>
448+                <path refid="classpath-n"/>
449+            </classpath>
450+        </javac>
451+    </target>
452+
453+    <target name="compile-san" description="Compile Saxon-SA classes for .NET" depends="copysource-development">
454+        <mkdir dir="${classes-n.dir}"/>
455+        <javac debug="${build.debug}"  debuglevel="${build.debuglevel}"
456+            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
457+            optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}"
458+            target="${build.compiler.target}">
459+
460+            <include name="com/saxonica/**"/>
461+            <exclude name="com/saxonica/validate/JavaVerifier.java"/>
462+            <classpath>
463+                <path refid="classpath-n"/>
464+            </classpath>
465+        </javac>
466+    </target>
467+
468+    <target name="jar-bj" description="Create Saxon-B jar files for Java" depends="create-meta-inf, compile-bj">
469+        <mkdir dir="${product.dir}/bj"/>
470+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9.jar">
471+            <include name="net/**/*.class"/>
472+            <exclude name="**/ant/**/*.class"/>
473+            <exclude name="**/dom/**/*.class"/>
474+            <exclude name="**/dom4j/**/*.class"/>
475+            <exclude name="**/javax/**/*.class"/>
476+            <exclude name="**/jdom/**/*.class"/>
477+            <exclude name="**/sql/**/*.class"/>
478+            <exclude name="**/xom/**/*.class"/>
479+            <exclude name="**/xpath/**/*.class"/>
480+            <exclude name="**/xqj/**/*.class"/>
481+            <exclude name="**/s9api/**/*.class"/>
482+            <include name="META-INF/**"/>
483+            <manifest>
484+                <attribute name="Project-Name" value="Saxon-B"/>
485+                <attribute name="Main-Class" value="net.sf.saxon.Transform"/>
486+            </manifest>
487+            <metainf dir="${services.dir}/saxon9/META-INF"/>
488+            <!--
489+            <service type="javax.xml.transform.TransformerFactory"
490+                provider="net.sf.saxon.TransformerFactoryImpl"/>
491+            -->
492+        </jar>
493+        <!--
494+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom.jar">
495+            <include name="net/sf/saxon/dom/*.class"/>
496+        </jar>
497+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom4j.jar">
498+            <include name="net/sf/saxon/dom4j/*.class"/>
499+        </jar>
500+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-jdom.jar">
501+            <include name="net/sf/saxon/jdom/*.class"/>
502+        </jar>
503+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-s9api.jar">
504+            <include name="net/sf/saxon/s9api/*.class"/>
505+        </jar>
506+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-sql.jar">
507+            <include name="net/sf/saxon/sql/*.class"/>
508+        </jar>
509+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xom.jar">
510+            <include name="net/sf/saxon/xom/*.class"/>
511+        </jar>
512+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xpath.jar">
513+            <include name="net/sf/saxon/xpath/*.class"/>
514+            <metainf dir="${services.dir}/saxon9-xpath/META-INF"/>
515+            <!==
516+            <service type="javax.xml.xpath.XPathFactory">
517+                <provider classname="net.sf.saxon.xpath.XPathFactoryImpl"/>
518+                <provider classname="http\://java.sun.com/jaxp/xpath/dom:    net.sf.saxon.xpath.XPathFactoryImpl"/>
519+                <provider classname="http\://saxon.sf.net/jaxp/xpath/om:     net.sf.saxon.xpath.XPathFactoryImpl"/>
520+                <provider classname="http\://www.xom.nu/jaxp/xpath/xom:      net.sf.saxon.xpath.XPathFactoryImpl"/>
521+                <provider classname="http\://jdom.org/jaxp/xpath/jdom:       net.sf.saxon.xpath.XPathFactoryImpl"/>
522+                <provider classname="http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl"/>
523+            </service> ==>
524+        </jar>
525+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xqj.jar">
526+            <include name="net/sf/saxon/xqj/*.class"/>
527+            <include name="net/sf/saxon/javax/xml/namespace/*.class"/>
528+            <include name="net/sf/saxon/javax/xml/xquery/*.class"/>
529+        </jar>
530+        -->
531+    </target>
532+
533+    <target name="jar-saj" description="Create Saxon-SA jar files for Java" depends="compile-s9api, jar-bj">
534+        <mkdir dir="${product.dir}/saj"/>
535+        <copy todir="${product.dir}/saj">
536+          <fileset dir="${product.dir}/bj">
537+            <include name="*.jar"/>
538+          </fileset>
539+        </copy>
540+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa.jar">
541+            <include name="net/**/*.class"/>
542+            <exclude name="**/dom/**/*.class"/>
543+            <exclude name="**/dom4j/**/*.class"/>
544+            <exclude name="**/javax/**/*.class"/>
545+            <exclude name="**/jdom/**/*.class"/>
546+            <exclude name="**/s9api/**/*.class"/>
547+            <exclude name="**/sql/**/*.class"/>
548+            <exclude name="**/xom/**/*.class"/>
549+            <exclude name="**/xpath/**/*.class"/>
550+            <exclude name="**/xqj/**/*.class"/>
551+            <include name="com/saxonica/**/*.class"/>
552+            <exclude name="com/saxonica/jaxp/*.class"/>
553+            <exclude name="com.saxonica.CompileQuery.class"/>
554+            <manifest>
555+                <attribute name="Project-Name" value="Saxon-SA"/>
556+            </manifest>
557+            <metainf dir="${services.dir}/saxon9sa/META-INF"/>
558+            <!--
559+            <service type="javax.xml.transform.TransformerFactory"
560+                provider="com.saxonica.SchemaAwareTransformerFactory"/>
561+            -->
562+        </jar>
563+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-jaxp.jar">
564+            <include name="com/saxonica/jaxp/*.class"/>
565+            <include name="net/sf/saxon/dom/TypeInfoImpl.class"/>
566+            <metainf dir="${services.dir}/saxon9sa-jaxp/META-INF"/>
567+            <!--
568+            <service type="javax.xml.validation.SchemaFactory">
569+                <provider classname="com.saxonica.jaxp.SchemaFactoryImpl"/>
570+                <provider classname="http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl"/>
571+            </service>
572+            -->
573+        </jar>
574+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-qc.jar">
575+            <include name="com/saxonica/codegen/*.class"/>
576+            <include name="com.saxonica.CompileQuery.class"/>
577+        </jar>
578+        <!-- The Saxon-Ant task is delivered with Saxon-B but it won't compile without Saxon-SA present,
579+             unless modified -->
580+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-ant.jar">
581+            <include name="net/sf/saxon/ant/*.class"/>
582+        </jar>
583+    </target>
584+
585+    <target name="jar-bn" description="Create Saxon-B jar files for .NET" depends="compile-bn">
586+        <mkdir dir="${jar-n.dir}"/>
587+        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9.jar">
588+            <include name="net/**/*.class"/>
589+        </jar>
590+    </target>
591+
592+    <target name="jar-san" description="Create Saxon-SA jar files for .NET" depends="compile-san">
593+        <mkdir dir="${jar-n.dir}"/>
594+        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9sa.jar">
595+            <include name="com/saxonica/**/*.class"/>
596+        </jar>
597+    </target>
598+
599+    <target name="dll-n" description="Create DLLs for .NET" depends="jar-bn, jar-san">
600+        <mkdir dir="${dll-n.dir}"/>
601+        <copy todir="${dll-n.dir}">
602+          <fileset dir="${ikvm.dir}/bin">
603+            <include name="IKVM.GNU.Classpath.dll"/>
604+            <include name="IKVM.Runtime.dll"/>
605+          </fileset>
606+        </copy>
607+        <copy file="${saxondotnet.snk}" todir="${basedir}"/>
608+        <!--
609+            Invoke IKVMC to cross-compile the JAR files into DLLs
610+        -->
611+        <exec dir="." executable="ikvmc.cmd" >
612+          <arg line="live"/>  <!-- set to 'debug' for testing, 'live' for final build -->
613+          <arg line="${basedir}/${jar-n.dir}"/>
614+          <arg line="${basedir}/${dll-n.dir}"/>
615+          <arg line="${version}"/>
616+        </exec>
617+    </target>
618+
619+    <target name="csharp-n" description="Compile C# source for .NET commands and API library"
620+        depends="dll-n">
621+
622+				<mkdir dir="${dll-n.dir}/samples"/>
623+				<mkdir dir="${dll-n.dir}/tests"/>
624+
625+				<exec dir="." executable="csharp-compile.cmd" >
626+          <arg line="${basedir}/${temp-src-nc.dir}"/>
627+          <arg line="${basedir}/${dll-n.dir}"/>
628+          <arg line="${version}"/>
629+        </exec>
630+
631+
632+<!--        <taskdef
633+            uri="antlib:org.apache.ant.dotnet">
634+            <classpath>
635+              <pathelement location="c:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/>
636+            </classpath>
637+          </taskdef>
638+    		<dn:csc xmlns:dn="antlib:org.apache.ant.dotnet"
639+    		          executable="${csharp.compiler}"
640+    	     				srcdir="${temp-src-nc.dir}/cmd"
641+    	     				targettype="exe"
642+    	     				win32icon="c:\MyDotNet\icons\gyfu.ico"
643+    	     				destdir="${dll-n.dir}">
644+    	     	<reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/>
645+    	     	<reference file="${dll-n.dir}/IKVM.Runtime.dll"/>
646+    	     	<reference file="${dll-n.dir}/saxon9.dll"/>
647+    	     	<reference file="${dll-n.dir}/saxon9sa.dll"/>
648+    	  </dn:csc>
649+    		<dn:csc xmlns:dn="antlib:org.apache.ant.dotnet"
650+    		          executable="${csharp.compiler}"
651+    	     				srcdir="${temp-src-nc.dir}/api"
652+    	     				targettype="module"
653+    	     				win32icon="c:\MyDotNet\icons\gyfu.ico"
654+    	     				destdir="${dll-n.dir}">
655+    	     	<reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/>
656+    	     	<reference file="${dll-n.dir}/IKVM.Runtime.dll"/>
657+    	     	<reference file="${dll-n.dir}/saxon9.dll"/>
658+    	     	<reference file="${dll-n.dir}/saxon9sa.dll"/>
659+    	  </dn:csc>
660+-->
661+    </target>
662+
663+    <target name="basic-userdoc" description="Generate Basic Documentation for release with executable">
664+	  <mkdir dir="${product.dir}/bj"/>
665+	  <copy todir="${product.dir}/bj">
666+        <fileset dir="${userdoc.dir}/welcome">
667+          <include name="doc/**"/>
668+          <include name="notices/**"/>
669+        </fileset>
670+      </copy>
671+      <mkdir dir="${product.dir}/saj"/>
672+      <copy todir="${product.dir}/saj">
673+        <fileset dir="${userdoc.dir}/welcome">
674+          <include name="doc/**"/>
675+          <include name="notices/**"/>
676+        </fileset>
677+      </copy>
678+      <mkdir dir="${product.dir}/bn"/>
679+      <copy todir="${product.dir}/bn">
680+        <fileset dir="${userdoc.dir}/welcome">
681+          <include name="doc/**"/>
682+          <include name="notices/**"/>
683+        </fileset>
684+      </copy>
685+      <mkdir dir="${product.dir}/san"/>
686+      <copy todir="${product.dir}/san">
687+        <fileset dir="${userdoc.dir}/welcome">
688+          <include name="doc/**"/>
689+          <include name="notices/**"/>
690+        </fileset>
691+      </copy>
692+    </target>
693+
694+    <target name="product-bn" description="Assemble product.directory for Saxon-B on .NET"
695+       										    depends="csharp-n, dll-n, basic-userdoc">
696+      <mkdir dir="${build-bn.dir}/bin"/>
697+      <copy todir="${build-bn.dir}/bin">
698+        <fileset dir="${dll-n.dir}">
699+     	  	<include name="IKVM.GNU.Classpath.dll"/>
700+          <include name="IKVM.Runtime.dll"/>
701+          <include name="saxon9.dll"/>
702+          <include name="saxon9api.dll"/>
703+          <include name="saxon9api.netmodule"/>
704+          <include name="Query.exe"/>
705+          <include name="Transform.exe"/>
706+        </fileset>
707+      </copy>
708+			<echo file="${build-bn.dir}/bin/install-gac.cmd">
709+				set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin"
710+				%NET%\gacutil /if IKVM.Runtime.dll
711+				%NET%\gacutil /if IKVM.GNU.Classpath.dll
712+				%NET%\gacutil /if saxon9.dll
713+				%NET%\gacutil /if saxon9api.dll
714+      </echo>
715+    </target>
716+
717+    <target name="product-san" description="Assemble product.directory for Saxon-SA on .NET"
718+       										    depends="csharp-n, dll-n, basic-userdoc">
719+      <copy todir="${build-san.dir}/bin">
720+        <fileset dir="${dll-n.dir}">
721+     	  	<include name="IKVM.GNU.Classpath.dll"/>
722+          <include name="IKVM.Runtime.dll"/>
723+          <include name="saxon9.dll"/>
724+          <include name="saxon9sa.dll"/>
725+          <include name="saxon9api.dll"/>
726+          <include name="saxon9api.netmodule"/>
727+          <include name="Query.exe"/>
728+          <include name="Transform.exe"/>
729+          <include name="Validate.exe"/>
730+        </fileset>
731+      </copy>
732+      <echo file="${build-san.dir}/bin/install-gac.cmd">
733+				set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin"
734+				%NET%\gacutil /if IKVM.Runtime.dll
735+				%NET%\gacutil /if IKVM.GNU.Classpath.dll
736+				%NET%\gacutil /if saxon9.dll
737+				%NET%\gacutil /if saxon9sa.dll
738+				%NET%\gacutil /if saxon9api.dll
739+      </echo>
740+    </target>
741+
742+    <target name="samples" description="Assemble Cross-Platform Samples and Use-Cases">
743+    	<mkdir dir="${build-resources.dir}/samples"/>
744+      <copy todir="${product.dir}/resources/use-cases">
745+        <fileset dir="${usercases.dir}"/>
746+      </copy>
747+      <copy todir="${product.dir}/resources/samples">
748+        <fileset dir="${samples.dir}">
749+          <include name="analysis/timing-profile.xsl"/>
750+          <include name="data/*.xml"/>
751+          <include name="data/*.xsd"/>
752+          <include name="data/*.dtd"/>
753+          <include name="query/*.xq"/>
754+          <include name="styles/*.xsl"/>
755+          <include name="trax/xml/**/*.xml"/>
756+          <include name="trax/xsl/**/*.xsl"/>
757+          <include name="trax/xsl/**/preamble.txt"/>
758+        </fileset>
759+      </copy>
760+    </target>
761+
762+    <target name="samples-j" description="Copy and Compile Java Samples"
763+    				depends="jar-saj">
764+      <mkdir dir="${product.dir}/resources/samples/java"/>
765+      <mkdir dir="${product.dir}/resources/samples/java/classes"/>
766+      <copy todir="${product.dir}/resources/samples/java">
767+        <fileset dir="${samples.dir}/java">
768+          <include name="ApplyXPathJAXP.java"/>
769+          <include name="ExampleContentHandler.java"/>
770+          <include name="JDOMExample.java"/>
771+          <include name="PullExamples.java"/>
772+          <include name="QueryAPIExamples.java"/>
773+          <include name="QuickValidator.java"/>
774+          <include name="SaxonServlet.java"/>
775+          <include name="SaxonSAServlet.java"/>
776+          <include name="SchemaValidatorExample.java"/>
777+          <include name="SchemaValidatorHandlerExample.java"/>
778+          <include name="TraxExamples.java"/>
779+          <include name="XMarkBenchmark.java"/>
780+          <include name="XPathExample.java"/>
781+          <include name="XPathExampleDOM.java"/>
782+          <include name="XPathExampleSA.java"/>
783+          <include name="XPathExampleServlet.java"/>
784+          <include name="XQJExamples.java"/>
785+        </fileset>
786+      </copy>
787+			<javac debug="true" debuglevel="source, lines"
788+			      destdir="${product.dir}/resources/samples/java/classes"
789+            srcdir="${product.dir}/resources/samples/java"
790+            source="${build.compiler.source}"
791+            target="${build.compiler.target}">
792+        <include name="*.java"/>
793+        <classpath>
794+            <path refid="classpath-samples"/>
795+        </classpath>
796+     </javac>
797+    </target>
798+
799+    <target name="testdrivers-j" description="Copy Java Test Drivers">
800+			<mkdir dir="${product.dir}/resources/drivers/java/test"/>
801+			<copy todir="${product.dir}/resources/drivers/java/test">
802+			  <fileset dir="${drivers-j.dir}">
803+			    <include name="XQueryTestSuiteDriver.java"/>
804+			    <include name="XsltTestSuiteDriver.java"/>
805+			    <include name="CanonicalXML.java"/>
806+			    <include name="XQTSModuleURIResolver.java"/>
807+			    <include name="XQTSCollectionURIResolver.java"/>
808+			    <include name="SchemaTestSuiteDriver.java"/>
809+        </fileset>
810+      </copy>
811+    </target>
812+
813+    <target name="samples-n" description="Assemble release samples for .NET"
814+                  depends="csharp-n">
815+      <mkdir dir="${build-resources.dir}/samples/cs"/>
816+      <copy todir="${build-resources.dir}/samples/cs">
817+        <fileset dir="${temp-src-nc.dir}/samples">
818+          <include name="*.cs"/>
819+        </fileset>
820+      </copy>
821+      <mkdir dir="${build-resources.dir}/samples/cs/bin"/>
822+      <copy todir="${build-resources.dir}/samples/cs/bin">
823+        <fileset dir="${dll-n.dir}/samples">
824+          <include name="*.exe"/>
825+          <include name="*.dll"/>
826+          <include name="*.pdb"/>
827+        </fileset>
828+      </copy>
829+      <copy todir="${build-resources.dir}/samples/cs/bin">
830+        <fileset dir="${dll-n.dir}/tests">
831+          <include name="*.exe"/>
832+          <include name="*.dll"/>
833+          <include name="*.pdb"/>
834+        </fileset>
835+      </copy>
836+    </target>
837+
838+    <target name="product-javadoc" description="Generate Javadoc.">
839+        <javadoc bottom="Copyright (C) Michael H. Kay. All rights reserved."
840+            destdir="${javadoc.dir}" doctitle="saxon9 Javadocs"
841+            noindex="true" notree="true" access="public"
842+            maxmemory="512M" source="1.5">
843+            <packageset dir="${temp-src-j.dir}">
844+                <include name="net/**"/>
845+                <include name="com/**"/>
846+                <exclude name="**/dotnet/**"/>
847+                <exclude name="**/DotNetVerifier.java"/>
848+            </packageset>
849+            <classpath>
850+                <path refid="classpath-j"/>
851+            </classpath>
852+
853+            <link href="http://java.sun.com/j2se/1.5.0/docs/api/"/>
854+            <link href="http://www.xom.nu/apidocs/"/>
855+
856+        </javadoc>
857+        <copy file="${userdoc.dir}/fixed/javadoc/stylesheet.css"
858+              tofile="${javadoc.dir}/stylesheet.css"
859+              overwrite="true"/>
860+    </target>
861+
862+    <target name="product-dotnetdoc" description="Copy .NET API documentation">
863+      <mkdir dir="${build-resources.dir}/doc/dotnetdoc"/>
864+      <copy todir="${build-resources.dir}/doc/dotnetdoc">
865+        <fileset dir="${dotnetdoc.dir}"/>
866+      </copy>
867+    </target>
868+
869+
870+    <target name="release-userdoc" description="Generate User Documentation">
871+			<taskdef name="saxon-xslt"
872+			         classname="net.sf.saxon.ant.AntTransform"
873+			         classpath="c:\saxon-build\9.0.0.1\saj\saxon9sa.jar;c:\saxon-licenses"/>
874+			<copy todir="${build-resources.dir}/doc">
875+        <fileset dir="${userdoc.dir}/fixed"/>
876+      </copy>
877+	  <copy todir="${product.dir}/bj">
878+        <fileset dir="${userdoc.dir}/welcome">
879+          <include name="doc/**"/>
880+          <include name="notices/**"/>
881+        </fileset>
882+      </copy>
883+      <copy todir="${product.dir}/saj">
884+        <fileset dir="${userdoc.dir}/welcome">
885+          <include name="doc/**"/>
886+          <include name="notices/**"/>
887+        </fileset>
888+      </copy>
889+      <copy todir="${product.dir}/bn">
890+        <fileset dir="${userdoc.dir}/welcome">
891+          <include name="doc/**"/>
892+          <include name="notices/**"/>
893+        </fileset>
894+      </copy>
895+      <copy todir="${product.dir}/san">
896+        <fileset dir="${userdoc.dir}/welcome">
897+          <include name="doc/**"/>
898+          <include name="notices/**"/>
899+        </fileset>
900+      </copy>
901+			<saxon-xslt in="${userdoc.dir}/catalog.xml"
902+			            style="${userdoc.dir}/render-page2.xsl"
903+			            schemaAware="true"
904+			            xmlVersion="1.0"
905+			            schemaValidation="strict"
906+			            out="${product.dir}/resources/doc/dummy.html"><!--validation="strict" -->
907+			  <param name="destination" expression="offline"/>
908+			</saxon-xslt>
909+			<zip zipfile="${build-resources.dir}/source-userdoc.zip">
910+			  <fileset dir="${userdoc.dir}">
911+			    <include name="**/*.xml"/>
912+			    <include name="**/*.xsl"/>
913+			    <include name="**/*.xsd"/>
914+			    <include name="**/*.css"/>
915+			    <include name="fixed/**"/>
916+			    <include name="welcome/**"/>
917+			  </fileset>
918+			</zip>
919+    </target>
920+
921+    <target name="release-source" description="Generate Zip file containing issued Source Code">
922+      <mkdir dir="${build-resources.dir}"/>
923+      <zip zipfile="${build-resources.dir}/source.zip">
924+        <fileset dir="${source-bj.dir}">
925+           <include name="net/**/*.java"/>
926+           <include name="net/**/package.html"/>
927+        </fileset>
928+        <fileset dir="${source-bj.dir}">
929+           <include name="net/sf/saxon/dotnet/*.java"/>
930+           <include name="net/sf/saxon/dotnet/package.html"/>
931+        </fileset>
932+        <fileset dir="${temp-src-nc.dir}">
933+           <include name="api/**/*.cs"/>
934+           <include name="cmd/**/*.cs"/>
935+        </fileset>
936+      </zip>
937+      <zip zipfile="${build-resources.dir}/sa-source.zip">
938+        <fileset dir="${source-saj.dir}">
939+           <include name="com/saxonica/**/*.java"/>
940+           <include name="com/saxonica/**/package.html"/>
941+        </fileset>
942+      </zip>
943+    </target>
944+
945+    <target name="resources" description="Generate contents of released resources file"
946+      	depends="release-userdoc, product-javadoc, product-dotnetdoc,
947+      	         samples, samples-j, testdrivers-j, samples-n, release-source">
948+      <mkdir dir="${product.dir}/resources/build"/>
949+      <copy todir="${product.dir}/resources/build">
950+        <fileset dir="${basedir}">
951+          <include name="build.xml"/>
952+          <include name="ikvmc.cmd"/>
953+          <include name="csharp-compile.cmd"/>
954+        </fileset>
955+      </copy>
956+      <copy todir="${product.dir}/resources">
957+        <fileset dir="${userdoc.dir}/welcome">
958+          <include name="notices/**"/>
959+        </fileset>
960+      </copy>
961+    </target>
962+
963+    <target name="bj" depends="compile-bj, jar-bj, basic-userdoc"
964+        description="Generate Saxon-B for the Java platform"/>
965+
966+    <target name="saj" depends="bj, jar-saj, basic-userdoc"
967+        description="Generate Saxon-SA for the Java platform"/>
968+
969+    <target name="n" depends="product-bn, product-san"
970+    		description="Generate Saxon for the .NET platform"/>
971+
972+    <target name="build" description="Complete Saxon product build"
973+      	depends="bj, saj, n"/> <!-- add resources -->
974+
975+    <target name="release" description="Create .ZIP files for release" depends="build"
976+        >  <!--depends="build, resources"-->
977+      <mkdir dir="${issue.dir}"/>
978+      <zip zipfile="${issue.dir}/saxonb${versionh}j.zip">
979+        <fileset dir="${product.dir}/bj"/>
980+      </zip>
981+      <zip zipfile="${issue.dir}/saxonb${versionh}n.zip">
982+        <fileset dir="${product.dir}/bn"/>
983+      </zip>
984+			<zip zipfile="${issue.dir}/saxonsa${versionh}j.zip">
985+        <fileset dir="${product.dir}/saj"/>
986+      </zip>
987+      <zip zipfile="${issue.dir}/saxonsa${versionh}n.zip">
988+        <fileset dir="${product.dir}/san"/>
989+      </zip>
990+      <!--
991+      <zip zipfile="${issue.dir}/saxon-resources${versionh}.zip">
992+        <fileset dir="${product.dir}/resources"/>
993+      </zip>
994+      -->
995+    </target>
996+
997+    <target name="archive" description="Archive everything needed for backup">
998+      <mkdir dir="${archive.dir}"/>
999+      <copy todir="${archive.dir}">
1000+       <fileset dir="${issue.dir}"/>
1001+       <fileset dir="${development-j.dir}" includes="sa-source.zip"/>
1002+       <fileset dir="${build-resources.dir}" includes="source.zip"/>
1003+      </copy>
1004+      <zip zipfile="${archive.dir}/saxontests.zip">
1005+        <fileset dir="e:/tests">
1006+          <include name="testsuite/*.*"/>
1007+          <include name="java/**/*.java"/>
1008+          <include name="xqts-current/SaxonDriver/**"/>
1009+          <include name="xqts-extra/**"/>
1010+          <include name="xslts_1_0_4/**/SaxonDriver/**"/>
1011+        </fileset>
1012+        <fileset dir="e:/tests/java" includes ="**/*.java"/>
1013+      </zip>
1014+      <zip zipfile="${archive.dir}/licensetool.zip">
1015+        <fileset dir="c:/MyJava/licensetool"/>
1016+      </zip>
1017+      <zip zipfile="${archive.dir}/licenses.zip">
1018+        <fileset dir="c:/saxon-licenses"/>
1019+      </zip>
1020+    </target>
1021+
1022+
1023+
1024+</project>
1025