xref: /aoo4110/main/saxon/saxon-9.0.0.7-bj.patch (revision b1cdbd2c)
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,1027 @@
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+    <property name="solar.bin" value="${solarbindir}"/>
174+    <path id="classpath-j">
175+        <fileset dir="${solar.bin}">
176+            <include name="stax-1.2.0.jar"/>
177+        </fileset>
178+    </path>
179+
180+    <path id="classpath-n">
181+        <fileset dir="${lib.dir}">
182+            <include name="*.jar"/>
183+        </fileset>
184+        <fileset dir="${ikvm.dir}">
185+        	 <include name="classpath/mscorlib.jar"/>
186+        	 <include name="classpath/System.jar"/>
187+        	 <include name="bin/IKVM.GNU.Classpath.jar"/>
188+        	 <include name="bin/IKVM.Runtime.jar"/>
189+        </fileset>
190+        <fileset dir="${generated.stubs.dir}">
191+        	 <include name="System.Xml.jar"/>
192+        	 <include name="System.Security.jar"/>
193+        </fileset>
194+    </path>
195+
196+    <path id="classpath-samples">
197+        <fileset dir="${lib.dir}">
198+            <include name="*.jar"/>
199+        </fileset>
200+        <fileset dir="${build-saj.dir}">
201+            <include name="*.jar"/>
202+        </fileset>
203+        <!-- Substitute build-bj.dir if there is no requirement to compile the sample applications
204+             that depend on Saxon-SA -->
205+    </path>
206+
207+    <target name="clean" description="Clean all files other than source code and downloaded jars.">
208+        <delete dir="${temp.dir}"/>
209+        <delete dir="${product.dir}"/>
210+        <mkdir dir="${product.dir}"/>
211+    </target>
212+
213+    <target name="download" description="Download third-party jar files.">
214+        <get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"
215+            dest="${lib.dir}/dom4j-1.6.1.jar" verbose="true"/>
216+
217+        <get src="http://www.ibiblio.org/maven/jdom/jars/jdom-1.0.jar"
218+            dest="${lib.dir}/jdom-1.0.jar" verbose="true"/>
219+
220+        <get src="http://www.cafeconleche.org/XOM/xom-1.1.jar" dest="${lib.dir}/xom-1.1.jar"
221+            verbose="true"/>
222+
223+        <get src="http://dist.codehaus.org/stax/jars/stax-api-1.0.1.jar" dest="${lib.dir}/stax-api-1.0.1.jar"
224+            verbose="true"/>
225+
226+            <!-- TODO: add servlet.jar, ant.jar -->
227+
228+    </target>
229+
230+
231+    <target name="copysource-development" description="Copy relevant source files from development directory">
232+        <copy todir="${temp-src-j.dir}">
233+          <fileset dir="${source-bj.dir}">
234+            <include name="net/sf/saxon/**/*.java"/>
235+            <exclude name="**/dotnet/**"/>
236+            <!--<exclude name="**/s9api/**"/>		 s9api needs Java 5 -->
237+            <include name="net/sf/saxon/**/package.html"/>
238+          </fileset>
239+ <!--
240+          <fileset dir="${source-saj.dir}">
241+            <include name="com/saxonica/**/*.java"/>
242+            <exclude name="com/saxonica/validate/DotNetVerifier.java"/>
243+            <include name="com/saxonica/**/package.html"/>
244+          </fileset>
245+ -->
246+        </copy>
247+        <!--
248+        <replace file="${temp-src-j.dir}/com/saxonica/validate/SchemaAwareConfiguration.java"
249+                 token="/*DOTNETONLY*/"
250+                 value="//"
251+                 summary="yes"/>
252+                 -->
253+        <replace file="${temp-src-j.dir}/net/sf/saxon/Configuration.java"
254+                 token="/*DOTNETONLY*/"
255+                 value="//"
256+                 summary="yes"/>
257+        <copy todir="${temp-src-nj.dir}">
258+          <fileset dir="${source-bj.dir}">
259+            <include name="net/sf/saxon/**/*.java"/>
260+            <exclude name="**/ant/**"/>
261+            <exclude name="**/dom/**"/>
262+            <exclude name="**/dom4j/**"/>
263+            <exclude name="**/java/**"/>
264+            <exclude name="**/javax/**"/>
265+            <exclude name="**/jdom/**"/>
266+            <exclude name="**/pull/PullToStax.java"/>
267+            <exclude name="**/pull/StaxBridge.java"/>
268+            <!-- <exclude name="**/s9api/**"/>		s9api needs Java 5 -->
269+            <exclude name="**/xom/**"/>
270+            <exclude name="**/xpath/**"/>
271+            <exclude name="**/xqj/**"/>
272+          </fileset>
273+          <!--
274+					<fileset dir="${source-saj.dir}">
275+            <include name="com/saxonica/extra/*.java"/>
276+            <include name="com/saxonica/fsa/*.java"/>
277+            <include name="com/saxonica/ptree/*.java"/>
278+            <include name="com/saxonica/schema/*.java"/>
279+            <include name="com/saxonica/sdoc/*.java"/>
280+            <include name="com/saxonica/validate/*.java"/>
281+            <include name="com/saxonica/Validate.java"/>
282+          </fileset>-->
283+        </copy>
284+        <!--
285+        <replace file="${temp-src-nj.dir}/com/saxonica/validate/SchemaAwareConfiguration.java"
286+                 token="/*JAVAONLY*/"
287+                 value="//"
288+                 summary="yes"/>
289+                 -->
290+        <replace file="${temp-src-nj.dir}/net/sf/saxon/Configuration.java"
291+                 token="/*JAVAONLY*/"
292+                 value="//"
293+                 summary="yes"/>
294+        <!-- when building from development source
295+        <copy todir="${temp-src-nc.dir}/api">
296+          <fileset dir="${source-api-n.dir}">
297+            <include name="Saxon.Api/*.cs"/>
298+          </fileset>
299+        </copy>
300+
301+        <copy todir="${temp-src-nc.dir}/cmd">
302+          <fileset dir="${source-cmd-n.dir}/Transform">
303+            <include name="*.cs"/>
304+          </fileset>
305+          <fileset dir="${source-cmd-n.dir}/Query">
306+            <include name="*.cs"/>
307+          </fileset>
308+          <fileset dir="${source-cmd-n.dir}/Validate">
309+            <include name="*.cs"/>
310+          </fileset>
311+        </copy>
312+        <copy todir="${temp-src-nc.dir}/samples">
313+          <fileset dir="${source-samples-n.dir}/XQueryExamples">
314+            <include name="*.cs"/>
315+          </fileset>
316+          <fileset dir="${source-samples-n.dir}/XPathExample">
317+            <include name="*.cs"/>
318+          </fileset>
319+          <fileset dir="${source-samples-n.dir}/XsltExamples">
320+            <include name="*.cs"/>
321+          </fileset>
322+          <fileset dir="${source-samples-n.dir}/SchemaExamples">
323+            <include name="*.cs"/>
324+          </fileset>
325+          <fileset dir="${source-samples-n.dir}/XsltTestSuiteDriver">
326+            <include name="*.cs"/>
327+          </fileset>
328+          <fileset dir="${source-samples-n.dir}/XQueryTestSuiteDriver">
329+            <include name="*.cs"/>
330+          </fileset>
331+          <fileset dir="${source-samples-n.dir}/SampleExtensions">
332+            <include name="*.cs"/>
333+          </fileset>
334+        </copy>
335+        -->
336+        <!-- when building from patch source
337+        <copy todir="${temp-src-nc.dir}/api/Saxon.Api">
338+          <fileset dir="${source-api-n.dir}">
339+            <include name="*.cs"/>
340+          </fileset>
341+        </copy>
342+        <copy todir="${temp-src-nc.dir}/cmd" >
343+          <fileset dir="${source-cmd-n.dir}">
344+            <include name="*.cs"/>
345+          </fileset>
346+        </copy>
347+        <copy todir="${temp-src-nc.dir}/samples">
348+          <fileset dir="${source-samples-n.dir}">
349+            <include name="*.cs"/>
350+          </fileset>
351+        </copy>
352+        -->
353+        <!-- -->
354+
355+    </target>
356+
357+    <target name="create-meta-inf" description="Create contents of META-INF/services files">
358+
359+        <!-- given the Ant 1.7.0 bug, create the services files here for copying into the JARS -->
360+        <mkdir dir="${services.dir}/saxon9/META-INF/services"/>
361+        <echo file="${services.dir}/saxon9/META-INF/services/javax.xml.transform.TransformerFactory"
362+              message="net.sf.saxon.TransformerFactoryImpl"/>
363+        <mkdir dir="${services.dir}/saxon9-xpath/META-INF/services"/>
364+        <echo file="${services.dir}/saxon9-xpath/META-INF/services/javax.xml.xpath.XPathFactory"
365+>net.sf.saxon.xpath.XPathFactoryImpl
366+http\://java.sun.com/jaxp/xpath/dom:    net.sf.saxon.xpath.XPathFactoryImpl
367+http\://saxon.sf.net/jaxp/xpath/om:     net.sf.saxon.xpath.XPathFactoryImpl
368+http\://www.xom.nu/jaxp/xpath/xom:      net.sf.saxon.xpath.XPathFactoryImpl
369+http\://jdom.org/jaxp/xpath/jdom:       net.sf.saxon.xpath.XPathFactoryImpl
370+http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl
371+</echo>
372+        <mkdir dir="${services.dir}/saxon9sa/META-INF/services"/>
373+        <echo file="${services.dir}/saxon9sa/META-INF/services/javax.xml.transform.TransformerFactory"
374+              message="com.saxonica.SchemaAwareTransformerFactory"/>
375+        <mkdir dir="${services.dir}/saxon9sa-jaxp/META-INF/services"/>
376+        <echo file="${services.dir}/saxon9sa-jaxp/META-INF/services/javax.xml.validation.SchemaFactory"
377+>com.saxonica.jaxp.SchemaFactoryImpl
378+http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl
379+</echo>
380+
381+
382+    </target>
383+
384+    <target name="compile-bj" description="Compile Saxon-B classes for Java." depends="copysource-development">
385+        <mkdir dir="${classes-j.dir}"/>
386+        <javac encoding="ISO-8859-1" debug="${build.debug}" debuglevel="${build.debuglevel}"
387+            deprecation="${build.deprecation}" destdir="${classes-j.dir}"
388+            optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}"
389+            target="${build.compiler.target}">
390+
391+            <include name="net/**"/>
392+            <exclude name="**/dom/**"/>
393+            <exclude name="**/dom4j/**"/>
394+            <exclude name="**/javax/**"/>
395+            <exclude name="**/jdom/**"/>
396+            <exclude name="**/sql/**"/>
397+            <exclude name="**/xom/**"/>
398+            <exclude name="**/xpath/**"/>
399+            <exclude name="**/xqj/**"/>
400+            <exclude name="**/dotnet/**"/>
401+            <exclude name="**/s9api/**"/>
402+
403+            <exclude name="**/ant/**"/>
404+            <exclude name="**/dotnet/**"/>
405+            <exclude name="**/s9api/**"/>
406+            <classpath>
407+                <path refid="classpath-j"/>
408+            </classpath>
409+        </javac>
410+    </target>
411+
412+    <target name="compile-saj" description="Compile Saxon-SA classes for Java." depends="copysource-development">
413+        <mkdir dir="${classes-j.dir}"/>
414+        <javac debug="${build.debug}"  debuglevel="${build.debuglevel}"
415+            deprecation="${build.deprecation}" destdir="${classes-j.dir}"
416+            optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}"
417+            target="${build.compiler.target}">
418+
419+            <include name="com/saxonica/**"/>
420+            <include name="net/sf/saxon/ant/**"/>
421+            <exclude name="com/saxonica/validate/DotNetVerifier.java"/>
422+            <classpath>
423+                <path refid="classpath-j"/>
424+            </classpath>
425+        </javac>
426+    </target>
427+
428+    <target name="compile-s9api" description="Compile s9api classes for Java."
429+                                 depends="compile-bj, compile-saj, copysource-development">
430+        <!-- Compiling the s9api package requires JDK 1.5 -->
431+        <!-- The bj and saj source must be compiled first to ensure that it is done using 1.4, otherwise
432+             it will be compiled in 1.5 mode because the classes are referenced from the s9api package -->
433+        <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
434+            deprecation="${build.deprecation}" destdir="${classes-j.dir}"
435+            optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.s9api.compiler.source}"
436+            target="${build.s9api.compiler.target}">
437+
438+            <include name="**/s9api/**"/>
439+            <classpath>
440+                <path refid="classpath-j"/>
441+            </classpath>
442+        </javac>
443+    </target>
444+
445+    <target name="compile-bn" description="Compile Saxon-B classes for .NET" depends="copysource-development">
446+        <mkdir dir="${classes-n.dir}"/>
447+        <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
448+            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
449+            optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}"
450+            target="${build.compiler.target}">
451+
452+            <include name="net/**"/>
453+            <exclude name="**/s9api/**"/>
454+            <classpath>
455+                <path refid="classpath-n"/>
456+            </classpath>
457+        </javac>
458+    </target>
459+
460+    <target name="compile-san" description="Compile Saxon-SA classes for .NET" depends="copysource-development">
461+        <mkdir dir="${classes-n.dir}"/>
462+        <javac debug="${build.debug}"  debuglevel="${build.debuglevel}"
463+            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
464+            optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}"
465+            target="${build.compiler.target}">
466+
467+            <include name="com/saxonica/**"/>
468+            <exclude name="com/saxonica/validate/JavaVerifier.java"/>
469+            <classpath>
470+                <path refid="classpath-n"/>
471+            </classpath>
472+        </javac>
473+    </target>
474+
475+    <target name="jar-bj" description="Create Saxon-B jar files for Java" depends="create-meta-inf, compile-bj">
476+        <mkdir dir="${product.dir}/bj"/>
477+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9.jar">
478+            <include name="net/**/*.class"/>
479+            <exclude name="**/ant/**/*.class"/>
480+            <exclude name="**/dom/**/*.class"/>
481+            <exclude name="**/dom4j/**/*.class"/>
482+            <exclude name="**/javax/**/*.class"/>
483+            <exclude name="**/jdom/**/*.class"/>
484+            <exclude name="**/sql/**/*.class"/>
485+            <exclude name="**/xom/**/*.class"/>
486+            <exclude name="**/xpath/**/*.class"/>
487+            <exclude name="**/xqj/**/*.class"/>
488+            <exclude name="**/s9api/**/*.class"/>
489+            <include name="META-INF/**"/>
490+            <manifest>
491+                <attribute name="Project-Name" value="Saxon-B"/>
492+                <attribute name="Main-Class" value="net.sf.saxon.Transform"/>
493+            </manifest>
494+            <metainf dir="${services.dir}/saxon9/META-INF"/>
495+            <!--
496+            <service type="javax.xml.transform.TransformerFactory"
497+                provider="net.sf.saxon.TransformerFactoryImpl"/>
498+            -->
499+        </jar>
500+        <!--
501+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom.jar">
502+            <include name="net/sf/saxon/dom/*.class"/>
503+        </jar>
504+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom4j.jar">
505+            <include name="net/sf/saxon/dom4j/*.class"/>
506+        </jar>
507+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-jdom.jar">
508+            <include name="net/sf/saxon/jdom/*.class"/>
509+        </jar>
510+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-s9api.jar">
511+            <include name="net/sf/saxon/s9api/*.class"/>
512+        </jar>
513+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-sql.jar">
514+            <include name="net/sf/saxon/sql/*.class"/>
515+        </jar>
516+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xom.jar">
517+            <include name="net/sf/saxon/xom/*.class"/>
518+        </jar>
519+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xpath.jar">
520+            <include name="net/sf/saxon/xpath/*.class"/>
521+            <metainf dir="${services.dir}/saxon9-xpath/META-INF"/>
522+            <!==
523+            <service type="javax.xml.xpath.XPathFactory">
524+                <provider classname="net.sf.saxon.xpath.XPathFactoryImpl"/>
525+                <provider classname="http\://java.sun.com/jaxp/xpath/dom:    net.sf.saxon.xpath.XPathFactoryImpl"/>
526+                <provider classname="http\://saxon.sf.net/jaxp/xpath/om:     net.sf.saxon.xpath.XPathFactoryImpl"/>
527+                <provider classname="http\://www.xom.nu/jaxp/xpath/xom:      net.sf.saxon.xpath.XPathFactoryImpl"/>
528+                <provider classname="http\://jdom.org/jaxp/xpath/jdom:       net.sf.saxon.xpath.XPathFactoryImpl"/>
529+                <provider classname="http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl"/>
530+            </service> ==>
531+        </jar>
532+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xqj.jar">
533+            <include name="net/sf/saxon/xqj/*.class"/>
534+            <include name="net/sf/saxon/javax/xml/namespace/*.class"/>
535+            <include name="net/sf/saxon/javax/xml/xquery/*.class"/>
536+        </jar>
537+        -->
538+    </target>
539+
540+    <target name="jar-saj" description="Create Saxon-SA jar files for Java" depends="compile-s9api, jar-bj">
541+        <mkdir dir="${product.dir}/saj"/>
542+        <copy todir="${product.dir}/saj">
543+          <fileset dir="${product.dir}/bj">
544+            <include name="*.jar"/>
545+          </fileset>
546+        </copy>
547+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa.jar">
548+            <include name="net/**/*.class"/>
549+            <exclude name="**/dom/**/*.class"/>
550+            <exclude name="**/dom4j/**/*.class"/>
551+            <exclude name="**/javax/**/*.class"/>
552+            <exclude name="**/jdom/**/*.class"/>
553+            <exclude name="**/s9api/**/*.class"/>
554+            <exclude name="**/sql/**/*.class"/>
555+            <exclude name="**/xom/**/*.class"/>
556+            <exclude name="**/xpath/**/*.class"/>
557+            <exclude name="**/xqj/**/*.class"/>
558+            <include name="com/saxonica/**/*.class"/>
559+            <exclude name="com/saxonica/jaxp/*.class"/>
560+            <exclude name="com.saxonica.CompileQuery.class"/>
561+            <manifest>
562+                <attribute name="Project-Name" value="Saxon-SA"/>
563+            </manifest>
564+            <metainf dir="${services.dir}/saxon9sa/META-INF"/>
565+            <!--
566+            <service type="javax.xml.transform.TransformerFactory"
567+                provider="com.saxonica.SchemaAwareTransformerFactory"/>
568+            -->
569+        </jar>
570+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-jaxp.jar">
571+            <include name="com/saxonica/jaxp/*.class"/>
572+            <include name="net/sf/saxon/dom/TypeInfoImpl.class"/>
573+            <metainf dir="${services.dir}/saxon9sa-jaxp/META-INF"/>
574+            <!--
575+            <service type="javax.xml.validation.SchemaFactory">
576+                <provider classname="com.saxonica.jaxp.SchemaFactoryImpl"/>
577+                <provider classname="http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl"/>
578+            </service>
579+            -->
580+        </jar>
581+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-qc.jar">
582+            <include name="com/saxonica/codegen/*.class"/>
583+            <include name="com.saxonica.CompileQuery.class"/>
584+        </jar>
585+        <!-- The Saxon-Ant task is delivered with Saxon-B but it won't compile without Saxon-SA present,
586+             unless modified -->
587+        <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-ant.jar">
588+            <include name="net/sf/saxon/ant/*.class"/>
589+        </jar>
590+    </target>
591+
592+    <target name="jar-bn" description="Create Saxon-B jar files for .NET" depends="compile-bn">
593+        <mkdir dir="${jar-n.dir}"/>
594+        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9.jar">
595+            <include name="net/**/*.class"/>
596+        </jar>
597+    </target>
598+
599+    <target name="jar-san" description="Create Saxon-SA jar files for .NET" depends="compile-san">
600+        <mkdir dir="${jar-n.dir}"/>
601+        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9sa.jar">
602+            <include name="com/saxonica/**/*.class"/>
603+        </jar>
604+    </target>
605+
606+    <target name="dll-n" description="Create DLLs for .NET" depends="jar-bn, jar-san">
607+        <mkdir dir="${dll-n.dir}"/>
608+        <copy todir="${dll-n.dir}">
609+          <fileset dir="${ikvm.dir}/bin">
610+            <include name="IKVM.GNU.Classpath.dll"/>
611+            <include name="IKVM.Runtime.dll"/>
612+          </fileset>
613+        </copy>
614+        <copy file="${saxondotnet.snk}" todir="${basedir}"/>
615+        <!--
616+            Invoke IKVMC to cross-compile the JAR files into DLLs
617+        -->
618+        <exec dir="." executable="ikvmc.cmd" >
619+          <arg line="live"/>  <!-- set to 'debug' for testing, 'live' for final build -->
620+          <arg line="${basedir}/${jar-n.dir}"/>
621+          <arg line="${basedir}/${dll-n.dir}"/>
622+          <arg line="${version}"/>
623+        </exec>
624+    </target>
625+
626+    <target name="csharp-n" description="Compile C# source for .NET commands and API library"
627+        depends="dll-n">
628+
629+				<mkdir dir="${dll-n.dir}/samples"/>
630+				<mkdir dir="${dll-n.dir}/tests"/>
631+
632+				<exec dir="." executable="csharp-compile.cmd" >
633+          <arg line="${basedir}/${temp-src-nc.dir}"/>
634+          <arg line="${basedir}/${dll-n.dir}"/>
635+          <arg line="${version}"/>
636+        </exec>
637+
638+
639+<!--        <taskdef
640+            uri="antlib:org.apache.ant.dotnet">
641+            <classpath>
642+              <pathelement location="c:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/>
643+            </classpath>
644+          </taskdef>
645+    		<dn:csc xmlns:dn="antlib:org.apache.ant.dotnet"
646+    		          executable="${csharp.compiler}"
647+    	     				srcdir="${temp-src-nc.dir}/cmd"
648+    	     				targettype="exe"
649+    	     				win32icon="c:\MyDotNet\icons\gyfu.ico"
650+    	     				destdir="${dll-n.dir}">
651+    	     	<reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/>
652+    	     	<reference file="${dll-n.dir}/IKVM.Runtime.dll"/>
653+    	     	<reference file="${dll-n.dir}/saxon9.dll"/>
654+    	     	<reference file="${dll-n.dir}/saxon9sa.dll"/>
655+    	  </dn:csc>
656+    		<dn:csc xmlns:dn="antlib:org.apache.ant.dotnet"
657+    		          executable="${csharp.compiler}"
658+    	     				srcdir="${temp-src-nc.dir}/api"
659+    	     				targettype="module"
660+    	     				win32icon="c:\MyDotNet\icons\gyfu.ico"
661+    	     				destdir="${dll-n.dir}">
662+    	     	<reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/>
663+    	     	<reference file="${dll-n.dir}/IKVM.Runtime.dll"/>
664+    	     	<reference file="${dll-n.dir}/saxon9.dll"/>
665+    	     	<reference file="${dll-n.dir}/saxon9sa.dll"/>
666+    	  </dn:csc>
667+-->
668+    </target>
669+
670+    <target name="basic-userdoc" description="Generate Basic Documentation for release with executable">
671+	  <mkdir dir="${product.dir}/bj"/>
672+	  <copy todir="${product.dir}/bj">
673+        <fileset dir="${userdoc.dir}/welcome">
674+          <include name="doc/**"/>
675+          <include name="notices/**"/>
676+        </fileset>
677+      </copy>
678+      <mkdir dir="${product.dir}/saj"/>
679+      <copy todir="${product.dir}/saj">
680+        <fileset dir="${userdoc.dir}/welcome">
681+          <include name="doc/**"/>
682+          <include name="notices/**"/>
683+        </fileset>
684+      </copy>
685+      <mkdir dir="${product.dir}/bn"/>
686+      <copy todir="${product.dir}/bn">
687+        <fileset dir="${userdoc.dir}/welcome">
688+          <include name="doc/**"/>
689+          <include name="notices/**"/>
690+        </fileset>
691+      </copy>
692+      <mkdir dir="${product.dir}/san"/>
693+      <copy todir="${product.dir}/san">
694+        <fileset dir="${userdoc.dir}/welcome">
695+          <include name="doc/**"/>
696+          <include name="notices/**"/>
697+        </fileset>
698+      </copy>
699+    </target>
700+
701+    <target name="product-bn" description="Assemble product.directory for Saxon-B on .NET"
702+       										    depends="csharp-n, dll-n, basic-userdoc">
703+      <mkdir dir="${build-bn.dir}/bin"/>
704+      <copy todir="${build-bn.dir}/bin">
705+        <fileset dir="${dll-n.dir}">
706+     	  	<include name="IKVM.GNU.Classpath.dll"/>
707+          <include name="IKVM.Runtime.dll"/>
708+          <include name="saxon9.dll"/>
709+          <include name="saxon9api.dll"/>
710+          <include name="saxon9api.netmodule"/>
711+          <include name="Query.exe"/>
712+          <include name="Transform.exe"/>
713+        </fileset>
714+      </copy>
715+			<echo file="${build-bn.dir}/bin/install-gac.cmd">
716+				set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin"
717+				%NET%\gacutil /if IKVM.Runtime.dll
718+				%NET%\gacutil /if IKVM.GNU.Classpath.dll
719+				%NET%\gacutil /if saxon9.dll
720+				%NET%\gacutil /if saxon9api.dll
721+      </echo>
722+    </target>
723+
724+    <target name="product-san" description="Assemble product.directory for Saxon-SA on .NET"
725+       										    depends="csharp-n, dll-n, basic-userdoc">
726+      <copy todir="${build-san.dir}/bin">
727+        <fileset dir="${dll-n.dir}">
728+     	  	<include name="IKVM.GNU.Classpath.dll"/>
729+          <include name="IKVM.Runtime.dll"/>
730+          <include name="saxon9.dll"/>
731+          <include name="saxon9sa.dll"/>
732+          <include name="saxon9api.dll"/>
733+          <include name="saxon9api.netmodule"/>
734+          <include name="Query.exe"/>
735+          <include name="Transform.exe"/>
736+          <include name="Validate.exe"/>
737+        </fileset>
738+      </copy>
739+      <echo file="${build-san.dir}/bin/install-gac.cmd">
740+				set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin"
741+				%NET%\gacutil /if IKVM.Runtime.dll
742+				%NET%\gacutil /if IKVM.GNU.Classpath.dll
743+				%NET%\gacutil /if saxon9.dll
744+				%NET%\gacutil /if saxon9sa.dll
745+				%NET%\gacutil /if saxon9api.dll
746+      </echo>
747+    </target>
748+
749+    <target name="samples" description="Assemble Cross-Platform Samples and Use-Cases">
750+    	<mkdir dir="${build-resources.dir}/samples"/>
751+      <copy todir="${product.dir}/resources/use-cases">
752+        <fileset dir="${usercases.dir}"/>
753+      </copy>
754+      <copy todir="${product.dir}/resources/samples">
755+        <fileset dir="${samples.dir}">
756+          <include name="analysis/timing-profile.xsl"/>
757+          <include name="data/*.xml"/>
758+          <include name="data/*.xsd"/>
759+          <include name="data/*.dtd"/>
760+          <include name="query/*.xq"/>
761+          <include name="styles/*.xsl"/>
762+          <include name="trax/xml/**/*.xml"/>
763+          <include name="trax/xsl/**/*.xsl"/>
764+          <include name="trax/xsl/**/preamble.txt"/>
765+        </fileset>
766+      </copy>
767+    </target>
768+
769+    <target name="samples-j" description="Copy and Compile Java Samples"
770+    				depends="jar-saj">
771+      <mkdir dir="${product.dir}/resources/samples/java"/>
772+      <mkdir dir="${product.dir}/resources/samples/java/classes"/>
773+      <copy todir="${product.dir}/resources/samples/java">
774+        <fileset dir="${samples.dir}/java">
775+          <include name="ApplyXPathJAXP.java"/>
776+          <include name="ExampleContentHandler.java"/>
777+          <include name="JDOMExample.java"/>
778+          <include name="PullExamples.java"/>
779+          <include name="QueryAPIExamples.java"/>
780+          <include name="QuickValidator.java"/>
781+          <include name="SaxonServlet.java"/>
782+          <include name="SaxonSAServlet.java"/>
783+          <include name="SchemaValidatorExample.java"/>
784+          <include name="SchemaValidatorHandlerExample.java"/>
785+          <include name="TraxExamples.java"/>
786+          <include name="XMarkBenchmark.java"/>
787+          <include name="XPathExample.java"/>
788+          <include name="XPathExampleDOM.java"/>
789+          <include name="XPathExampleSA.java"/>
790+          <include name="XPathExampleServlet.java"/>
791+          <include name="XQJExamples.java"/>
792+        </fileset>
793+      </copy>
794+			<javac debug="true" debuglevel="source, lines"
795+			      destdir="${product.dir}/resources/samples/java/classes"
796+            srcdir="${product.dir}/resources/samples/java"
797+            source="${build.compiler.source}"
798+            target="${build.compiler.target}">
799+        <include name="*.java"/>
800+        <classpath>
801+            <path refid="classpath-samples"/>
802+        </classpath>
803+     </javac>
804+    </target>
805+
806+    <target name="testdrivers-j" description="Copy Java Test Drivers">
807+			<mkdir dir="${product.dir}/resources/drivers/java/test"/>
808+			<copy todir="${product.dir}/resources/drivers/java/test">
809+			  <fileset dir="${drivers-j.dir}">
810+			    <include name="XQueryTestSuiteDriver.java"/>
811+			    <include name="XsltTestSuiteDriver.java"/>
812+			    <include name="CanonicalXML.java"/>
813+			    <include name="XQTSModuleURIResolver.java"/>
814+			    <include name="XQTSCollectionURIResolver.java"/>
815+			    <include name="SchemaTestSuiteDriver.java"/>
816+        </fileset>
817+      </copy>
818+    </target>
819+
820+    <target name="samples-n" description="Assemble release samples for .NET"
821+                  depends="csharp-n">
822+      <mkdir dir="${build-resources.dir}/samples/cs"/>
823+      <copy todir="${build-resources.dir}/samples/cs">
824+        <fileset dir="${temp-src-nc.dir}/samples">
825+          <include name="*.cs"/>
826+        </fileset>
827+      </copy>
828+      <mkdir dir="${build-resources.dir}/samples/cs/bin"/>
829+      <copy todir="${build-resources.dir}/samples/cs/bin">
830+        <fileset dir="${dll-n.dir}/samples">
831+          <include name="*.exe"/>
832+          <include name="*.dll"/>
833+          <include name="*.pdb"/>
834+        </fileset>
835+      </copy>
836+      <copy todir="${build-resources.dir}/samples/cs/bin">
837+        <fileset dir="${dll-n.dir}/tests">
838+          <include name="*.exe"/>
839+          <include name="*.dll"/>
840+          <include name="*.pdb"/>
841+        </fileset>
842+      </copy>
843+    </target>
844+
845+    <target name="product-javadoc" description="Generate Javadoc.">
846+        <javadoc bottom="Copyright (C) Michael H. Kay. All rights reserved."
847+            destdir="${javadoc.dir}" doctitle="saxon9 Javadocs"
848+            noindex="true" notree="true" access="public"
849+            maxmemory="512M" source="1.5">
850+            <packageset dir="${temp-src-j.dir}">
851+                <include name="net/**"/>
852+                <include name="com/**"/>
853+                <exclude name="**/dotnet/**"/>
854+                <exclude name="**/DotNetVerifier.java"/>
855+            </packageset>
856+            <classpath>
857+                <path refid="classpath-j"/>
858+            </classpath>
859+
860+            <link href="http://java.sun.com/j2se/1.5.0/docs/api/"/>
861+            <link href="http://www.xom.nu/apidocs/"/>
862+
863+        </javadoc>
864+        <copy file="${userdoc.dir}/fixed/javadoc/stylesheet.css"
865+              tofile="${javadoc.dir}/stylesheet.css"
866+              overwrite="true"/>
867+    </target>
868+
869+    <target name="product-dotnetdoc" description="Copy .NET API documentation">
870+      <mkdir dir="${build-resources.dir}/doc/dotnetdoc"/>
871+      <copy todir="${build-resources.dir}/doc/dotnetdoc">
872+        <fileset dir="${dotnetdoc.dir}"/>
873+      </copy>
874+    </target>
875+
876+
877+    <target name="release-userdoc" description="Generate User Documentation">
878+			<taskdef name="saxon-xslt"
879+			         classname="net.sf.saxon.ant.AntTransform"
880+			         classpath="c:\saxon-build\9.0.0.1\saj\saxon9sa.jar;c:\saxon-licenses"/>
881+			<copy todir="${build-resources.dir}/doc">
882+        <fileset dir="${userdoc.dir}/fixed"/>
883+      </copy>
884+	  <copy todir="${product.dir}/bj">
885+        <fileset dir="${userdoc.dir}/welcome">
886+          <include name="doc/**"/>
887+          <include name="notices/**"/>
888+        </fileset>
889+      </copy>
890+      <copy todir="${product.dir}/saj">
891+        <fileset dir="${userdoc.dir}/welcome">
892+          <include name="doc/**"/>
893+          <include name="notices/**"/>
894+        </fileset>
895+      </copy>
896+      <copy todir="${product.dir}/bn">
897+        <fileset dir="${userdoc.dir}/welcome">
898+          <include name="doc/**"/>
899+          <include name="notices/**"/>
900+        </fileset>
901+      </copy>
902+      <copy todir="${product.dir}/san">
903+        <fileset dir="${userdoc.dir}/welcome">
904+          <include name="doc/**"/>
905+          <include name="notices/**"/>
906+        </fileset>
907+      </copy>
908+			<saxon-xslt in="${userdoc.dir}/catalog.xml"
909+			            style="${userdoc.dir}/render-page2.xsl"
910+			            schemaAware="true"
911+			            xmlVersion="1.0"
912+			            schemaValidation="strict"
913+			            out="${product.dir}/resources/doc/dummy.html"><!--validation="strict" -->
914+			  <param name="destination" expression="offline"/>
915+			</saxon-xslt>
916+			<zip zipfile="${build-resources.dir}/source-userdoc.zip">
917+			  <fileset dir="${userdoc.dir}">
918+			    <include name="**/*.xml"/>
919+			    <include name="**/*.xsl"/>
920+			    <include name="**/*.xsd"/>
921+			    <include name="**/*.css"/>
922+			    <include name="fixed/**"/>
923+			    <include name="welcome/**"/>
924+			  </fileset>
925+			</zip>
926+    </target>
927+
928+    <target name="release-source" description="Generate Zip file containing issued Source Code">
929+      <mkdir dir="${build-resources.dir}"/>
930+      <zip zipfile="${build-resources.dir}/source.zip">
931+        <fileset dir="${source-bj.dir}">
932+           <include name="net/**/*.java"/>
933+           <include name="net/**/package.html"/>
934+        </fileset>
935+        <fileset dir="${source-bj.dir}">
936+           <include name="net/sf/saxon/dotnet/*.java"/>
937+           <include name="net/sf/saxon/dotnet/package.html"/>
938+        </fileset>
939+        <fileset dir="${temp-src-nc.dir}">
940+           <include name="api/**/*.cs"/>
941+           <include name="cmd/**/*.cs"/>
942+        </fileset>
943+      </zip>
944+      <zip zipfile="${build-resources.dir}/sa-source.zip">
945+        <fileset dir="${source-saj.dir}">
946+           <include name="com/saxonica/**/*.java"/>
947+           <include name="com/saxonica/**/package.html"/>
948+        </fileset>
949+      </zip>
950+    </target>
951+
952+    <target name="resources" description="Generate contents of released resources file"
953+      	depends="release-userdoc, product-javadoc, product-dotnetdoc,
954+      	         samples, samples-j, testdrivers-j, samples-n, release-source">
955+      <mkdir dir="${product.dir}/resources/build"/>
956+      <copy todir="${product.dir}/resources/build">
957+        <fileset dir="${basedir}">
958+          <include name="build.xml"/>
959+          <include name="ikvmc.cmd"/>
960+          <include name="csharp-compile.cmd"/>
961+        </fileset>
962+      </copy>
963+      <copy todir="${product.dir}/resources">
964+        <fileset dir="${userdoc.dir}/welcome">
965+          <include name="notices/**"/>
966+        </fileset>
967+      </copy>
968+    </target>
969+
970+    <target name="bj" depends="compile-bj, jar-bj, basic-userdoc"
971+        description="Generate Saxon-B for the Java platform"/>
972+
973+    <target name="saj" depends="bj, jar-saj, basic-userdoc"
974+        description="Generate Saxon-SA for the Java platform"/>
975+
976+    <target name="n" depends="product-bn, product-san"
977+    		description="Generate Saxon for the .NET platform"/>
978+
979+    <target name="build" description="Complete Saxon product build"
980+      	depends="bj, saj, n"/> <!-- add resources -->
981+
982+    <target name="release" description="Create .ZIP files for release" depends="build"
983+        >  <!--depends="build, resources"-->
984+      <mkdir dir="${issue.dir}"/>
985+      <zip zipfile="${issue.dir}/saxonb${versionh}j.zip">
986+        <fileset dir="${product.dir}/bj"/>
987+      </zip>
988+      <zip zipfile="${issue.dir}/saxonb${versionh}n.zip">
989+        <fileset dir="${product.dir}/bn"/>
990+      </zip>
991+			<zip zipfile="${issue.dir}/saxonsa${versionh}j.zip">
992+        <fileset dir="${product.dir}/saj"/>
993+      </zip>
994+      <zip zipfile="${issue.dir}/saxonsa${versionh}n.zip">
995+        <fileset dir="${product.dir}/san"/>
996+      </zip>
997+      <!--
998+      <zip zipfile="${issue.dir}/saxon-resources${versionh}.zip">
999+        <fileset dir="${product.dir}/resources"/>
1000+      </zip>
1001+      -->
1002+    </target>
1003+
1004+    <target name="archive" description="Archive everything needed for backup">
1005+      <mkdir dir="${archive.dir}"/>
1006+      <copy todir="${archive.dir}">
1007+       <fileset dir="${issue.dir}"/>
1008+       <fileset dir="${development-j.dir}" includes="sa-source.zip"/>
1009+       <fileset dir="${build-resources.dir}" includes="source.zip"/>
1010+      </copy>
1011+      <zip zipfile="${archive.dir}/saxontests.zip">
1012+        <fileset dir="e:/tests">
1013+          <include name="testsuite/*.*"/>
1014+          <include name="java/**/*.java"/>
1015+          <include name="xqts-current/SaxonDriver/**"/>
1016+          <include name="xqts-extra/**"/>
1017+          <include name="xslts_1_0_4/**/SaxonDriver/**"/>
1018+        </fileset>
1019+        <fileset dir="e:/tests/java" includes ="**/*.java"/>
1020+      </zip>
1021+      <zip zipfile="${archive.dir}/licensetool.zip">
1022+        <fileset dir="c:/MyJava/licensetool"/>
1023+      </zip>
1024+      <zip zipfile="${archive.dir}/licenses.zip">
1025+        <fileset dir="c:/saxon-licenses"/>
1026+      </zip>
1027+    </target>
1028+
1029+
1030+
1031+</project>
1032