Project

Profile

Help

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

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

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

    
3
<project basedir="." default="all" name="Saxon for the .NET platform"
4
         xmlns:dn="antlib:org.apache.ant.dotnet">
5
    
6
    <!-- Build file for Saxon on .NET. This build file is designed to be imported from build.xml -->
7
    
8
        <import file="build-constants.xml"/>      
9
                    
10
    <!-- directories holding C# source code -->
11
    <property name="vss-n.dir" value="c:/saxon-svn/latest9.3/hen/csource"/>
12

    
13
    <!-- directory holding C# source code as in Subversion -->
14
    <!--<property name="subversion-n.dir" value="${root}/saxon-svn2/latest9.0/bn/csource"/>-->        
15
                
16
    <!-- directory holding .NET API documentation -->
17
    <property name="dotnetdoc.dir" value="c:/MyJava/build/dotnetdoc"/>
18
                        
19
    <!-- location of the C# compiler -->
20
    <property name="csharp.compiler" value="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe"/>   
21
                    
22
    
23
    <!-- following locations are for IKVMC code used to build the .NET product -->
24
    
25
    <property name="development-ikvm.dir" value="e:/MyDotNet"/>
26
    <property name="ikvm.dir" value="${development-ikvm.dir}/ikvm-0.42.0.3"/>
27
    <property name="generated.stubs.dir" value="${development-ikvm.dir}/stubs"/>
28
    <property name="ikvm.strongname" value="Version=0.42.0.3, Culture=neutral, PublicKeyToken=13235d27fcbfff58, ProcessorArchitecture=MSIL"/>
29
    <property name="saxon.strongname" value="Version=${version}, Culture=neutral, PublicKeyToken=e1fdd002d5083fe6, ProcessorArchitecture=MSIL"/>
30
    
31
    <!-- Key file used for signing the Saxonica-built .NET product. User builds should use a different key file -->
32
    <property name="saxondotnet.snk" value="${development-ikvm.dir}/make/saxondotnet.snk"/>
33
    
34
    <!-- set to 'debug' for testing, 'live' for final build -->
35
    <!--<property name="dot.net.debug" value="live"/>--> 
36
    
37
    <!-- The other important thing to enable debugging is that the .pdb file is available in the same directory
38
         as the .dll. -->
39
    
40
    <!-- Precondition for .NET compilation: IKVM is installed.
41
         * Download from www.ikvm.net
42
         * Unzip into ${development-ikvm.dir}
43
         * Register in the GAC (access the Microsoft .NET Framework Configuration item in the 
44
                                Windows Control Panel, and add the assemblies to the Assembly Cache. 
45
                                At a minimum, install the IKVM.OpenJDK.ClassLibrary.dll and IKVM.Runtime.dll)
46
         * Generate stubs in ${generated.stubs.dir} 
47
           for System.Xml.dll, System.Security.dll, and IKVM.OpenJDK.ClassLibrary.dll
48
    -->       
49
    
50
    <!-- following locations are relative to the build file -->
51
        
52
    <property name="temp-src-nj.dir" value="${temp.dir}/n/jsource"/>
53
    <property name="temp-src-nc.dir" value="${temp.dir}/n/csource"/>
54
    <property name="classes-n.dir" value="${temp.dir}/n/classes"/> 
55
    <property name="jar-n.dir" value="${temp.dir}/n/jar"/> 
56
    <property name="dll-n.dir" value="${temp.dir}/n/dll"/>  
57

    
58
                <!-- following locations are relative to the destination directory -->
59
                
60
    <property name="build-hen.dir" value="${product.dir}/hen"/> 
61
    <property name="build-pen.dir" value="${product.dir}/pen"/>  
62
    <property name="build-een.dir" value="${product.dir}/een"/>
63
     
64
   
65
    <!-- development source -->
66
        
67
    <property name="source-api-n.dir" value="${vss-n.dir}/api"/>
68
    <property name="source-cmd-n.dir" value="${vss-n.dir}/cmd"/>
69
    <property name="source-samples-n.dir" value="${vss-n.dir}/samples"/>        
70
           
71
    <path id="classpath-n">
72
        <fileset dir="${lib.dir}">
73
            <include name="*.jar"/>
74
        </fileset>
75
        <fileset dir="${ikvm.dir}">
76
                 <include name="classpath/mscorlib.jar"/>
77
                 <include name="classpath/System.jar"/>
78
                 <include name="classpath/IKVM.Runtime.jar"/>
79
        </fileset>
80
        <fileset dir="${generated.stubs.dir}">
81
             <include name="CIL.jar"/>         
82
                 <include name="System.Xml.jar"/>
83
                 <include name="System.Security.jar"/>
84
        </fileset>         
85
    </path>
86
       
87
    
88
    <target name="prepare-libs-n" description="Prepare required libraries for .NET, specifically Xerces and TagSoup">
89
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="e:\javalib\ant-ikvmc.0.4.jar"/>
90
        <mkdir dir="${dll-n.dir}"/>
91
        <copy todir="${dll-n.dir}">
92
          <fileset dir="${ikvm.dir}/bin">
93
            <include name="IKVM.OpenJDK.*.dll"/>
94
            <include name="IKVM.Runtime.dll"/>            
95
          </fileset>
96
          <!--<fileset dir="${ikvm.dir}/openjdk/extras">
97
            <include name="charsets.dll"/>
98
          </fileset>-->
99
        </copy>
100
        <copy file="${saxondotnet.snk}" todir="${basedir}"/>
101
        <mkdir dir="${basedir}/libs/xerces"/>
102
        <unjar src="${basedir}/libs/xercesimpl.jar" dest="${basedir}/libs/xerces"/>
103
        <unjar src="${basedir}/libs/resolver.jar" dest="${basedir}/libs/xerces"/>
104
        <jar basedir="${basedir}/libs/xerces" compress="${build.compress}" jarfile="${basedir}/libs/xerces.jar">
105
            <include name="**/*.class"/>
106
            <include name="**/*.properties"/>
107
            <exclude name="org.w3c.dom.html.HTMLDOMImplementation.class"/>
108
            <exclude name="META-INF/MANIFEST.MF"/>
109
        </jar>
110
    </target>    
111
        
112
    <target name="create-edition-properties-n" description="Create the edition.properties files for the three editions of Saxon on Java">
113
        <mkdir dir="${classes-n.dir}"/>
114
        <mkdir dir="${classes-n.dir}/he"/>
115
        <mkdir dir="${classes-n.dir}/pe"/>
116
        <mkdir dir="${classes-n.dir}/ee"/>
117
        <echo file="${classes-n.dir}/he/edition.properties"
118
>config=net.sf.saxon.Configuration
119
platform=net.sf.saxon.dotnet.DotNetPlatform
120
</echo>
121
        <echo file="${classes-n.dir}/pe/edition.properties"
122
>config=com.saxonica.config.ProfessionalConfiguration
123
platform=com.saxonica.config.DotNetPlatformPE
124
</echo>
125
        <echo file="${classes-n.dir}/ee/edition.properties"
126
>config=com.saxonica.config.EnterpriseConfiguration
127
platform=com.saxonica.config.DotNetPlatformPE
128
</echo>   
129
    </target>
130
    
131
    <target name="prepare-n" depends="prepare-libs-n, create-edition-properties-n"/>
132
    
133
    
134
    <target name="copysource-development-n" description="Copy source files for Saxon on .NET from development directory">
135
        <copy todir="${temp-src-nj.dir}">
136
          <fileset dir="${source-hej.dir}">
137
            <include name="net/sf/saxon/**/*.java"/>
138
            <exclude name="**/ant/**"/>
139
            <exclude name="**/dom/**"/>
140
            <exclude name="**/dom4j/**"/>
141
            <exclude name="**/java/**"/>
142
            <exclude name="**/jdom/**"/>
143
            <exclude name="**/s9api/**"/>
144
            <exclude name="**/sql/**"/>
145
            <exclude name="**/xom/**"/>
146
            <exclude name="**/xpath/**"/>
147
            <exclude name="**/xqj/**"/>
148
          </fileset>
149
          <fileset dir="${source-eej.dir}">
150
            <include name="com/saxonica/**/*.java"/>  
151
            <exclude name="com/saxonica/CompileQuery.java"/>
152
            <exclude name="com/saxonica/CompileStylesheet.java"/>
153
            <exclude name="com/saxonica/codegen/*.java"/> 
154
            <exclude name="com/saxonica/deploy/*.java"/>
155
            <exclude name="com/saxonica/testdriver/*.java"/> 
156
            <exclude name="com/saxonica/jaxp/*.java"/>            
157
          </fileset>          
158
        </copy>
159
        <copy todir="${temp-src-nc.dir}/api">
160
          <fileset dir="${source-api-n.dir}">
161
            <include name="Saxon.Api/*.cs"/>
162
            <!--<include name="Saxon.Api/Properties/AssemblyInfo.cs"/>-->
163
          </fileset>
164
        </copy>
165
        <mkdir dir="${temp-src-nc.dir}/api/Saxon.Api/Properties"/>
166
        <echo file="${temp-src-nc.dir}/api/Saxon.Api/Properties/AssemblyInfo.cs">
167
                  using System.Reflection;
168
          using System.Runtime.CompilerServices;
169
          using System.Runtime.InteropServices;
170
          [assembly: AssemblyTitle("Saxon.Api")]
171
          [assembly: AssemblyDescription("")]
172
          [assembly: AssemblyConfiguration("")]
173
          [assembly: AssemblyCompany("Saxonica")]
174
          [assembly: AssemblyProduct("Saxon.Api")]
175
          [assembly: AssemblyCopyright("Copyright © Saxonica 2010")]
176
          [assembly: AssemblyTrademark("")]
177
          [assembly: AssemblyCulture("")]
178
          [assembly: ComVisible(false)]
179
          [assembly: Guid("8cf9aad8-da5f-47f0-9251-1fbcbdcfe477")]
180
          [assembly: AssemblyVersion("${version}")]
181
          [assembly: AssemblyFileVersion("${version}")]
182
        </echo>
183
        <mkdir dir="${temp-src-nc.dir}/cmd"/>
184
        <copy todir="${temp-src-nc.dir}/cmd">
185
          <fileset dir="${source-cmd-n.dir}">
186
            <include name="**/Transform.cs"/>
187
            <include name="**/Query.cs"/>
188
            <include name="**/Validate.cs"/>
189
          </fileset>
190
        </copy>
191
        
192
       
193
        <copy todir="${temp-src-nc.dir}/samples">
194
          <fileset dir="${source-samples-n.dir}">
195
            <include name="*.cs"/>
196
          </fileset>
197
        </copy>
198
    </target>
199
                      
200
    <target name="compile-n" description="Compile Saxon Java classes for the .NET product" 
201
            depends="copysource-development-n">
202
        <mkdir dir="${classes-n.dir}"/>
203
        <mkdir dir="${classes-n.dir}/he"/>
204
        <mkdir dir="${classes-n.dir}/pe"/>
205
        <mkdir dir="${classes-n.dir}/ee"/>
206
        <echo message="Compile with debug = ${build.debug}, debuglevel = ${build.debuglevel}"/>
207
        <javac debug="${build.debug}" debuglevel="${build.debuglevel}" 
208
            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
209
            optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}"
210
            target="${build.compiler.target}">
211

    
212
            <include name="net/**"/>
213
            <include name="com/saxonica/**"/>
214
            <exclude name="**/s9api/**"/>
215
            <exclude name="**/EnterpriseXPathFactory.java"/>
216
            <exclude name="**/ProfessionalXPathFactory.java"/>
217
            <exclude name="**/EnterpriseTransformerFactory.java"/>
218
            <exclude name="**/ProfessionalTransformerFactory.java"/>
219
            <exclude name="**/JavaPlatform.java"/>
220
            <exclude name="**/JavaPlatformPE.java"/>
221
            <exclude name="**/JavaLocalizerFactory.java"/>
222
            <classpath>
223
                <path refid="classpath-n"/>
224
            </classpath>
225
        </javac>
226
    </target>
227
    
228
    <target name="jar-hen" description="Create Saxon-HE jar files for .NET" depends="compile-n">
229
        <mkdir dir="${jar-n.dir}"/>
230
        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9he.jar">
231
            <include name="net/**/*.class"/>
232
            <exclude name="net/sf/saxon/option/**/*.class"/>
233
        </jar>
234
        <jar basedir="${classes-n.dir}/he" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9he.jar" update="true">
235
            <include name="edition.properties"/>
236
        </jar> 
237
    </target> 
238
    
239
    <target name="jar-pen" description="Create Saxon-PE jar files for .NET" depends="compile-n">
240
        <mkdir dir="${jar-n.dir}"/>
241
        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9pe.jar">
242
            <include name="net/**/*.class"/>
243
            <exclude name="net/sf/saxon/ant/*.class"/>
244
            <exclude name="**/sql/**/*.class"/>
245
            <include name="com/saxonica/**/*.class"/>
246
            <exclude name="com/saxonica/jaxp/**/**/*.class"/>
247
            <exclude name="com/saxonica/schema/**/*.class"/>
248
            <exclude name="com/saxonica/stream/**/*.class"/>
249
            <exclude name="com/saxonica/update/**/*.class"/>
250
            <exclude name="com/saxonica/validate/**/*.class"/>
251
            <exclude name="com/saxonica/Validate.class"/>
252
            <exclude name="com/saxonica/CompileStylesheet$TracingObjectOutputStream.class"/>
253
            <exclude name="com/saxonica/config/EnterpriseConfiguration.class"/>
254
            <exclude name="com/saxonica/config/EnterpriseConfiguration$SurrogateSchema.class"/>
255
            <exclude name="com/saxonica/config/ProfessionalTransformerFactory.class"/>
256
            <exclude name="com/saxonica/config/ProfessionalXPathFactory.class"/>
257
            <exclude name="com/saxonica/config/EnterpriseTransformerFactory.class"/>
258
            <exclude name="com/saxonica/config/EnterpriseXPathFactory.class"/>
259
            <exclude name="com/saxonica/config/DynamicLoaderEE.class"/>
260
            <exclude name="com/saxonica/config/StandardSchemaResolver.class"/>
261
            <exclude name="com/saxonica/expr/ee/*.class"/>   
262
        </jar>
263
        <jar basedir="${classes-n.dir}/pe" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9pe.jar" update="true">
264
            <include name="edition.properties"/>
265
        </jar>
266
    </target>     
267
    
268
    <target name="jar-een" description="Create Saxon-EE jar files for .NET" depends="compile-n">
269
        <mkdir dir="${jar-n.dir}"/>
270
        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9ee.jar">
271
            <include name="net/**/*.class"/>
272
            <include name="com/saxonica/**/*.class"/>
273
            <exclude name="com/saxonica/config/EnterpriseTransformerFactory.class"/>
274
            <exclude name="com/saxonica/config/EnterpriseXPathFactory.class"/>
275
        </jar>
276
        <jar basedir="${classes-n.dir}/ee" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9ee.jar" update="true">
277
            <include name="edition.properties"/>
278
        </jar>
279
    </target>
280
    
281
    <target name="dll-n" description="Create DLLs for .NET" depends="jar-hen, jar-pen, jar-een">
282
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="e:\javalib\ant-ikvmc.0.4.jar"/>
283
        <mkdir dir="${dll-n.dir}"/>
284
        <copy todir="${jar-n.dir}">
285
          <fileset dir="${basedir}/libs">
286
            <include name="xerces.jar"/>
287
            <include name="tagsoup-1.2.jar"/>
288
          </fileset>
289
        </copy>
290
         
291
        <!--
292
            Invoke IKVMC to cross-compile the JAR files into DLLs
293
        -->
294
        
295
        <ikvmc home="${ikvm.dir}"
296
               assembly="saxon9he" target="library" keyfile="${saxondotnet.snk}" version="${version}"
297
               debug="false" 
298
               srcpath="${temp-src-nj.dir}"
299
               out="${basedir}/${dll-n.dir}/saxon9he.dll"
300
               verbose="true">
301
          <fileset dir="${basedir}/${jar-n.dir}">
302
            <include name="saxon9he.jar"/>
303
            <include name="xerces.jar"/>
304
          </fileset>
305
          <reference path="mscorlib.dll"/>
306
          <reference path="System.Xml"/>
307
          <reference path="System"/>
308
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Core.dll"/>
309
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Charsets.dll"/>
310
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Text.dll"/>
311
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Util.dll"/>
312
          <reference path="${dll-n.dir}/IKVM.OpenJDK.XML.API.dll"/>
313
          <!--<reference path="${dll-n.dir}/xercesImpl.dll"/>-->
314
          <!--<reference path="${dll-n.dir}/IKVM.OpenJDK.XMLparse.dll"/>-->
315
        </ikvmc>
316
        <ikvmc home="${ikvm.dir}"
317
               assembly="saxon9pe" 
318
               target="library" 
319
               keyfile="${saxondotnet.snk}" 
320
               version="${version}"
321
               debug="false" 
322
               srcpath="${temp-src-nj.dir}"
323
               out="${basedir}/${dll-n.dir}/saxon9pe.dll"
324
               verbose="true">
325
          <fileset dir="${basedir}/${jar-n.dir}">
326
            <include name="saxon9pe.jar"/>
327
            <include name="xerces.jar"/>
328
            <include name="tagsoup-1.2.jar"/>
329
          </fileset>
330
          <reference path="mscorlib.dll"/>
331
          <reference path="System.Xml"/>
332
          <reference path="System"/>
333
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Core.dll"/>
334
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Charsets.dll"/>
335
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Security.dll"/>
336
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Text.dll"/>
337
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Util.dll"/>
338
          <reference path="${dll-n.dir}/IKVM.OpenJDK.XML.API.dll"/>
339
          <!--<reference path="${dll-n.dir}/xercesImpl.dll"/>-->
340
          <!--<reference path="${dll-n.dir}/IKVM.OpenJDK.XMLparse.dll"/>-->
341
          <reference path="System.Security"/>
342
        </ikvmc>
343
        <ikvmc home="${ikvm.dir}"
344
               assembly="saxon9ee" 
345
               target="library" 
346
               keyfile="${saxondotnet.snk}" 
347
               version="${version}"
348
               debug="false" 
349
               srcpath="${temp-src-nj.dir}"
350
               out="${basedir}/${dll-n.dir}/saxon9ee.dll"
351
               verbose="true">
352
          <fileset dir="${basedir}/${jar-n.dir}">
353
            <include name="saxon9ee.jar"/>
354
            <include name="xerces.jar"/>
355
            <include name="tagsoup-1.2.jar"/>
356
          </fileset>
357
          <reference path="mscorlib.dll"/>
358
          <reference path="System.Xml"/>
359
          <reference path="System"/>
360
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Core.dll"/>
361
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Charsets.dll"/>
362
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Security.dll"/>
363
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Text.dll"/>
364
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Util.dll"/>
365
          <reference path="${dll-n.dir}/IKVM.OpenJDK.XML.API.dll"/>
366
          <!--<reference path="${dll-n.dir}/xercesImpl.dll"/>-->
367
          <!--<reference path="${dll-n.dir}/IKVM.OpenJDK.XMLparse.dll"/>-->
368
          <reference path="System.Security"/>
369
        </ikvmc>
370
        
371
        <!-- Create a version of the DLL for debugging. Debugging in Visual Studio
372
             requires a version of the assembly that has no strong name. Currently
373
             we build this only for Enterprise Edition. The debugging version of the
374
             DLL plays no further part in the build, and is not included in the
375
             released product, but it can be used by linking it as a reference
376
             from the relevant client in Visual Studio, for example Transform.exe -->
377
        
378
        <ikvmc home="${ikvm.dir}"
379
               assembly="saxon9ee-debug" 
380
               target="library" 
381
               debug="true" 
382
               srcpath="${temp-src-nj.dir}"
383
               out="${basedir}/${dll-n.dir}/saxon9ee-debug.dll"
384
               verbose="true">
385
          <fileset dir="${basedir}/${jar-n.dir}">
386
            <include name="saxon9ee.jar"/>
387
            <include name="xerces.jar"/>
388
          </fileset>
389
          <reference path="mscorlib.dll"/>
390
          <reference path="System.Xml"/>
391
          <reference path="System"/>
392
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Core.dll"/>
393
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Charsets.dll"/>
394
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Security.dll"/>
395
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Text.dll"/>
396
          <reference path="${dll-n.dir}/IKVM.OpenJDK.Util.dll"/>
397
          <reference path="${dll-n.dir}/IKVM.OpenJDK.XML.API.dll"/>
398
          <reference path="System.Security"/>
399
        </ikvmc>
400
        
401
        <!-- NB Remember to add the dll's to the GAC - it doesn't work if you don't -->
402
        
403
    </target>
404
    
405
    <target name="csharp-hen" description="Compile C# source for .NET commands and API library (HE)"
406
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="dll-n"
407
        > 
408
        
409
        <taskdef 
410
            uri="antlib:org.apache.ant.dotnet">
411
            <classpath>
412
              <pathelement location="e:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/>
413
            </classpath>
414
        </taskdef>
415

    
416
                <mkdir dir="${dll-n.dir}/he"/>
417
                
418
                <copy todir="${dll-n.dir}/he">
419
            <fileset dir="${dll-n.dir}">
420
                   <include name="IKVM.OpenJDK.Core.dll"/>
421
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
422
                   <include name="IKVM.OpenJDK.Text.dll"/>
423
                   <include name="IKVM.OpenJDK.Util.dll"/>
424
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
425
                   <include name="xercesImpl.dll"/>
426
              <include name="IKVM.Runtime.dll"/>
427
              <!--<include name="IKVM.OpenJDK.Charsets.dll"/>-->
428
              <include name="saxon9he.dll"/>
429
            </fileset>
430
        </copy>
431
                
432
                <!-- API library DLL -->
433
                
434
                <dn:csc targetType="library" outputFile="${basedir}/${dll-n.dir}/he/saxon9he-api.dll"
435
                     docFile="${dotnetdoc.dir}/apidoc.xml"
436
                     extraOptions="-keyfile:${saxondotnet.snk}"
437
                     executable="${csharp.compiler}">
438
                     <src dir="${basedir}/${temp-src-nc.dir}/api/Saxon.Api" includes="*.cs Properties/AssemblyInfo.cs"/>
439
                     <reference dir="${basedir}/${dll-n.dir}/he">
440
                        <!--<include name="charsets.dll"/>-->
441
                        <include name="IKVM.OpenJDK.Core.dll"/>
442
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
443
                     <include name="IKVM.OpenJDK.Text.dll"/>
444
                     <include name="IKVM.OpenJDK.Util.dll"/>
445
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
446
                     <include name="xercesImpl.dll"/>
447
                        <include name="IKVM.Runtime.dll"/>
448
                        <include name="saxon9he.dll"/>
449
                     </reference>
450
                </dn:csc>
451
                
452
                <!-- Transform, Query, Validate commands -->
453
                
454
                <echo file="${basedir}/${temp-src-nc.dir}/cmd/AssemblyInfo.cs">
455
                  using System.Reflection;
456
          using System.Runtime.CompilerServices;
457
          using System.Runtime.InteropServices;
458
          [assembly: AssemblyCompany("Saxonica")]
459
          [assembly: AssemblyProduct("Saxon.HE")]
460
          [assembly: AssemblyCopyright("Copyright © Saxonica 2010")]
461
          [assembly: AssemblyVersion("${version}")]
462
          [assembly: AssemblyFileVersion("${version}")]
463
        </echo>
464
                
465
                <dn:csc targetType="exe" 
466
                     win32icon="${development-ikvm.dir}\icons\gyfu.ico"
467
                     outputFile="${basedir}/${dll-n.dir}/he/Transform.exe"
468
                     extraOptions="-keyfile:${saxondotnet.snk}"
469
                     executable="${csharp.compiler}">
470
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Transform.cs AssemblyInfo.cs"/>
471
                     <reference dir="${basedir}/${dll-n.dir}/he">
472
                        <include name="IKVM.OpenJDK.Core.dll"/>
473
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
474
                     <include name="IKVM.OpenJDK.Text.dll"/>
475
                     <include name="IKVM.OpenJDK.Util.dll"/>
476
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
477
                     <include name="xercesImpl.dll"/>
478
                        <include name="IKVM.Runtime.dll"/>
479
                        <!--<include name="charsets.dll"/>-->
480
                        <include name="saxon9he.dll"/>
481
                     </reference>
482
                </dn:csc>
483
                
484
                <dn:csc targetType="exe" win32icon="${development-ikvm.dir}\icons\gyfu.ico"
485
                     outputFile="${basedir}/${dll-n.dir}/he/Query.exe"
486
                     extraOptions="-keyfile:${saxondotnet.snk}"
487
                     executable="${csharp.compiler}">
488
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Query.cs AssemblyInfo.cs"/>
489
                     <reference dir="${basedir}/${dll-n.dir}/he">
490
                        <include name="IKVM.OpenJDK.Core.dll"/>
491
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
492
                     <include name="IKVM.OpenJDK.Text.dll"/>
493
                     <include name="IKVM.OpenJDK.Util.dll"/>
494
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
495
                     <include name="xercesImpl.dll"/>
496
                        <include name="IKVM.Runtime.dll"/>
497
                        <!--<include name="charsets.dll"/>-->
498
                        <include name="saxon9he.dll"/>
499
                     </reference>
500
                </dn:csc>
501
                
502
    </target>
503
    
504
    <target name="csharp-pen" description="Compile C# source for .NET commands and API library (PE)"
505
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="dll-n"
506
        > <!---->
507
        
508
        <taskdef 
509
            uri="antlib:org.apache.ant.dotnet">
510
            <classpath>
511
              <pathelement location="e:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/>
512
            </classpath>
513
          </taskdef>
514

    
515
                <mkdir dir="${dll-n.dir}/pe"/>
516
                
517
                <copy todir="${dll-n.dir}/pe">
518
            <fileset dir="${dll-n.dir}">
519
                   <include name="IKVM.OpenJDK.Core.dll"/>
520
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
521
                   <include name="IKVM.OpenJDK.Security.dll"/>
522
                   <include name="IKVM.OpenJDK.Text.dll"/>
523
                   <include name="IKVM.OpenJDK.Util.dll"/>
524
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
525
                   <include name="xercesImpl.dll"/>
526
              <include name="IKVM.Runtime.dll"/>
527
              <!--<include name="charsets.dll"/>-->
528
              <include name="saxon9pe.dll"/>
529
            </fileset>
530
        </copy>
531
                
532
                <!-- API library DLL -->
533
                
534
                <dn:csc targetType="library" outputFile="${basedir}/${dll-n.dir}/pe/saxon9pe-api.dll"
535
                     docFile="${dotnetdoc.dir}/apidoc.xml"
536
                     extraOptions="-keyfile:${saxondotnet.snk}"
537
                     executable="${csharp.compiler}">
538
                     <src dir="${basedir}/${temp-src-nc.dir}/api/Saxon.Api" includes="*.cs Properties/AssemblyInfo.cs"/>
539
                     <reference dir="${basedir}/${dll-n.dir}/pe">
540
                        <!--<include name="charsets.dll"/>-->
541
                        <include name="IKVM.OpenJDK.Core.dll"/>
542
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
543
                     <include name="IKVM.OpenJDK.Security.dll"/>
544
                     <include name="IKVM.OpenJDK.Text.dll"/>
545
                     <include name="IKVM.OpenJDK.Util.dll"/>
546
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
547
                     <include name="IKVM.Runtime.dll"/>
548
                        <include name="saxon9pe.dll"/>
549
                     </reference>
550
                </dn:csc>
551
                
552
                <!-- Transform, Query, Validate commands -->
553
                
554
                <echo file="${basedir}/${temp-src-nc.dir}/cmd/AssemblyInfo.cs">
555
                  using System.Reflection;
556
          using System.Runtime.CompilerServices;
557
          using System.Runtime.InteropServices;
558
          [assembly: AssemblyCompany("Saxonica")]
559
          [assembly: AssemblyProduct("Saxon.PE")]
560
          [assembly: AssemblyCopyright("Copyright © Saxonica 2010")]
561
          [assembly: AssemblyVersion("${version}")]
562
          [assembly: AssemblyFileVersion("${version}")]
563
        </echo>
564
                
565
                <dn:csc targetType="exe" win32icon="${development-ikvm.dir}\icons\gyfu.ico"
566
                     outputFile="${basedir}/${dll-n.dir}/pe/Transform.exe"
567
                     extraOptions="-keyfile:${saxondotnet.snk}"
568
                     executable="${csharp.compiler}">
569
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Transform.cs AssemblyInfo.cs"/>
570
                     <reference dir="${basedir}/${dll-n.dir}/pe">
571
                        <include name="IKVM.OpenJDK.Core.dll"/>
572
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
573
                     <include name="IKVM.OpenJDK.Security.dll"/>
574
                     <include name="IKVM.OpenJDK.Text.dll"/>
575
                     <include name="IKVM.OpenJDK.Util.dll"/>
576
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
577
                        <include name="IKVM.Runtime.dll"/>
578
                        <!--<include name="charsets.dll"/>-->
579
                        <include name="saxon9pe.dll"/>
580
                     </reference>
581
                </dn:csc>
582
                
583
                <dn:csc targetType="exe" win32icon="${development-ikvm.dir}\icons\gyfu.ico"
584
                     outputFile="${basedir}/${dll-n.dir}/pe/Query.exe"
585
                     extraOptions="-keyfile:${saxondotnet.snk}"
586
                     executable="${csharp.compiler}">
587
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Query.cs AssemblyInfo.cs"/>
588
                     <reference dir="${basedir}/${dll-n.dir}/pe">
589
                        <include name="IKVM.OpenJDK.Core.dll"/>
590
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
591
                     <include name="IKVM.OpenJDK.Security.dll"/>
592
                     <include name="IKVM.OpenJDK.Text.dll"/>
593
                     <include name="IKVM.OpenJDK.Util.dll"/>
594
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
595
                        <include name="IKVM.Runtime.dll"/>
596
                        <!--<include name="charsets.dll"/>-->
597
                        <include name="saxon9pe.dll"/>
598
                     </reference>
599
                </dn:csc>
600
                
601
    </target>    
602
    
603
    <target name="csharp-een" description="Compile C# source for .NET commands and API library (EE)"
604
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="dll-n"
605
        > <!---->
606
        
607
        <taskdef 
608
            uri="antlib:org.apache.ant.dotnet">
609
            <classpath>
610
              <pathelement location="e:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/>
611
            </classpath>
612
          </taskdef>
613

    
614
                <mkdir dir="${dll-n.dir}/ee"/>
615
                
616
                <copy todir="${dll-n.dir}/ee">
617
            <fileset dir="${dll-n.dir}">
618
                   <include name="IKVM.OpenJDK.Core.dll"/>
619
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
620
                   <include name="IKVM.OpenJDK.Security.dll"/>
621
                   <include name="IKVM.OpenJDK.Text.dll"/>
622
                   <include name="IKVM.OpenJDK.Util.dll"/>
623
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
624
              <include name="IKVM.Runtime.dll"/>
625
              <include name="saxon9ee.dll"/>
626
              <include name="saxon9ee-debug.dll"/>
627
            </fileset>
628
        </copy>
629
                
630
                <!-- API library DLL -->
631
                
632
                <!-- Note, this is not built for debugging in Visual Studio. Such a version
633
                     is best built within VS itself -->
634
                
635
                <dn:csc targetType="library" outputFile="${basedir}/${dll-n.dir}/ee/saxon9ee-api.dll"
636
                     docFile="${dotnetdoc.dir}/apidoc.xml"
637
                     extraOptions="-keyfile:${saxondotnet.snk}"
638
                     executable="${csharp.compiler}">
639
                     <src dir="${basedir}/${temp-src-nc.dir}/api/Saxon.Api" includes="*.cs Properties/AssemblyInfo.cs"/>
640
                     <reference dir="${basedir}/${dll-n.dir}/ee">
641
                        <!--<include name="charsets.dll"/>-->
642
                        <include name="IKVM.OpenJDK.Core.dll"/>
643
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
644
                     <include name="IKVM.OpenJDK.Security.dll"/>
645
                     <include name="IKVM.OpenJDK.Text.dll"/>
646
                     <include name="IKVM.OpenJDK.Util.dll"/>
647
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
648
                        <include name="IKVM.Runtime.dll"/>
649
                        <include name="saxon9ee.dll"/>
650
                     </reference>
651
                </dn:csc>
652
                
653
                <!-- Transform, Query, Validate commands -->
654
                
655
                <echo file="${basedir}/${temp-src-nc.dir}/cmd/AssemblyInfo.cs">
656
                  using System.Reflection;
657
          using System.Runtime.CompilerServices;
658
          using System.Runtime.InteropServices;
659
          [assembly: AssemblyCompany("Saxonica")]
660
          [assembly: AssemblyProduct("Saxon.EE")]
661
          [assembly: AssemblyCopyright("Copyright © Saxonica 2010")]
662
          [assembly: AssemblyVersion("${version}")]
663
          [assembly: AssemblyFileVersion("${version}")]
664
        </echo>                
665
                
666
                <dn:csc targetType="exe" win32icon="${development-ikvm.dir}\icons\gyfu.ico"
667
                     outputFile="${basedir}/${dll-n.dir}/ee/Transform.exe"
668
                     extraOptions="-keyfile:${saxondotnet.snk}"
669
                     executable="${csharp.compiler}">
670
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Transform.cs AssemblyInfo.cs"/>
671
                     <reference dir="${basedir}/${dll-n.dir}/ee">
672
                        <include name="IKVM.OpenJDK.Core.dll"/>
673
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
674
                     <include name="IKVM.OpenJDK.Security.dll"/>
675
                     <include name="IKVM.OpenJDK.Text.dll"/>
676
                     <include name="IKVM.OpenJDK.Util.dll"/>
677
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
678
                        <include name="IKVM.Runtime.dll"/>
679
                        <!--<include name="charsets.dll"/>-->
680
                        <include name="saxon9ee.dll"/>
681
                     </reference>
682
                </dn:csc>
683
                
684
                <dn:csc targetType="exe" win32icon="${development-ikvm.dir}\icons\gyfu.ico"
685
                     outputFile="${basedir}/${dll-n.dir}/ee/Query.exe"
686
                     extraOptions="-keyfile:${saxondotnet.snk}"
687
                     executable="${csharp.compiler}">
688
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Query.cs AssemblyInfo.cs"/>
689
                     <reference dir="${basedir}/${dll-n.dir}/ee">
690
                        <include name="IKVM.OpenJDK.Core.dll"/>
691
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
692
                     <include name="IKVM.OpenJDK.Security.dll"/>
693
                     <include name="IKVM.OpenJDK.Text.dll"/>
694
                     <include name="IKVM.OpenJDK.Util.dll"/>
695
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
696
                        <include name="IKVM.Runtime.dll"/>
697
                        <!--<include name="charsets.dll"/>-->
698
                        <include name="saxon9ee.dll"/>
699
                     </reference>
700
                </dn:csc>
701
                
702
                <dn:csc targetType="exe" win32icon="${development-ikvm.dir}\icons\gyfu.ico"
703
                     outputFile="${basedir}/${dll-n.dir}/ee/Validate.exe"
704
                     extraOptions="-keyfile:${saxondotnet.snk}"
705
                     executable="${csharp.compiler}">
706
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Validate.cs AssemblyInfo.cs"/>
707
                     <reference dir="${basedir}/${dll-n.dir}/ee">
708
                        <include name="IKVM.OpenJDK.Core.dll"/>
709
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
710
                     <include name="IKVM.OpenJDK.Security.dll"/>
711
                     <include name="IKVM.OpenJDK.Text.dll"/>
712
                     <include name="IKVM.OpenJDK.Util.dll"/>
713
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
714
                        <include name="IKVM.Runtime.dll"/>
715
                        <include name="saxon9ee.dll"/>
716
                     </reference>
717
                </dn:csc>
718
    </target>    
719
    
720
    <target name="compile-samples-n" description="Compile C# source for .NET commands and API library (HE)"
721
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="csharp-hen, csharp-pen, csharp-een, samples-common"
722
        >
723

    
724
       <taskdef 
725
            uri="antlib:org.apache.ant.dotnet">
726
            <classpath>
727
              <pathelement location="e:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/>
728
            </classpath>
729
          </taskdef>
730

    
731
                <mkdir dir="${dll-n.dir}/samples"/>
732
                <mkdir dir="${dll-n.dir}/tests"/>
733
                
734
                <!-- Sample applications and test drivers -->
735
                
736
                <dn:csc targetType="exe"
737
                     outputFile="${basedir}/${dll-n.dir}/samples/ExamplesHE.exe"
738
                     win32icon="${development-ikvm.dir}\icons\csharp.ico"
739
                     debug="true"
740
                     executable="${csharp.compiler}">
741
                     <src dir="${basedir}/${temp-src-nc.dir}/samples" includes="ExamplesHE.cs"/>
742
                     <reference dir="${basedir}/${dll-n.dir}/he">
743
                        <include name="IKVM.OpenJDK.*.dll"/>
744
                        <include name="saxon9he-api.dll"/>
745
                     </reference>
746
                </dn:csc>
747
                
748
                <dn:csc targetType="exe"
749
                     outputFile="${basedir}/${dll-n.dir}/samples/ExamplesPE.exe"
750
                     win32icon="${development-ikvm.dir}\icons\csharp.ico"
751
                     debug="true"
752
                     executable="${csharp.compiler}">
753
                     <src dir="${basedir}/${temp-src-nc.dir}/samples" includes="ExamplesPE.cs SampleExtensions.cs"/>
754
                     <reference dir="${basedir}/${dll-n.dir}/pe">
755
                        <include name="IKVM.OpenJDK.*.dll"/>
756
                        <include name="saxon9pe-api.dll"/>
757
                        <include name="saxon9pe.dll"/>
758
                     </reference>
759
                </dn:csc>
760
                
761
                <dn:csc targetType="exe"
762
                     outputFile="${basedir}/${dll-n.dir}/samples/ExamplesEE.exe"
763
                     win32icon="${development-ikvm.dir}\icons\csharp.ico"
764
                     debug="true"
765
                     executable="${csharp.compiler}">
766
                     <src dir="${basedir}/${temp-src-nc.dir}/samples" includes="ExamplesEE.cs SampleExtensions.cs"/>
767
                     <reference dir="${basedir}/${dll-n.dir}/ee">
768
                        <include name="IKVM.OpenJDK.*.dll"/>
769
                        <include name="saxon9ee-api.dll"/>
770
                        <include name="saxon9ee.dll"/>
771
                     </reference>
772
                </dn:csc>
773
                        
774
                <dn:csc targetType="winexe"
775
                     outputFile="${basedir}/${dll-n.dir}/samples/TestRunner.exe"
776
                     win32icon="${development-ikvm.dir}\icons\csharp.ico"
777
                     debug="true"
778
                     executable="${csharp.compiler}">
779
                     <src dir="${basedir}/${temp-src-nc.dir}/samples">
780
                       <include name="TestRunnerForm.cs"/>
781
                       <include name="TestRunnerForm.Designer.cs"/>
782
                       <include name="TestRunnerProgram.cs"/>
783
                       <include name="XsltTestSuiteDriver.cs"/>
784
                       <include name="XQueryTestSuiteDriver.cs"/>
785
                       <include name="SchemaTestSuiteDriver.cs"/>
786
                       <include name="IFeedbackListener.cs"/>
787
                       <include name="FileComparer.cs"/>
788
                     </src>
789
                     <reference dir="${basedir}/${dll-n.dir}/ee">
790
                        <include name="IKVM.OpenJDK.*.dll"/>
791
                        <include name="saxon9ee-api.dll"/>
792
                     </reference>
793
                </dn:csc>                                
794
                
795
                                      
796

    
797
    </target>
798
    
799
    <target name="product-hen" description="Assemble product.directory for Saxon-HE on .NET"
800
                                                                                           depends="csharp-hen">
801
      <mkdir dir="${build-hen.dir}/bin"/>                                                                                     
802
      <copy todir="${build-hen.dir}/bin">
803
        <fileset dir="${dll-n.dir}/he">
804
               <include name="IKVM.OpenJDK.*.dll"/>
805
          <include name="IKVM.Runtime.dll"/>
806
          <include name="saxon9he.dll"/>
807
          <include name="saxon9he-api.dll"/>
808
          <include name="Query.exe"/>
809
          <include name="Transform.exe"/>
810
        </fileset>
811
      </copy>
812

    
813
    </target>
814
    
815
    <target name="product-pen" description="Assemble product.directory for Saxon-PE on .NET"
816
                                                                                           depends="csharp-pen">
817
      <mkdir dir="${build-pen.dir}/bin"/>                                                                                     
818
      <copy todir="${build-pen.dir}/bin">
819
        <fileset dir="${dll-n.dir}/pe">
820
               <include name="IKVM.OpenJDK.*.dll"/>
821
          <include name="IKVM.Runtime.dll"/>
822
          <include name="saxon9pe.dll"/>
823
          <include name="saxon9pe-api.dll"/>
824
          <include name="Query.exe"/>
825
          <include name="Transform.exe"/>
826
        </fileset>
827
      </copy>
828

    
829
    </target>
830
    
831
    <target name="product-een" description="Assemble product.directory for Saxon-SA on .NET"
832
                                                                                           depends="csharp-een">
833
      <copy todir="${build-een.dir}/bin">
834
        <fileset dir="${dll-n.dir}/ee">
835
               <include name="IKVM.OpenJDK.*.dll"/>
836
          <include name="IKVM.Runtime.dll"/>
837
          <include name="saxon9ee.dll"/>
838
          <include name="saxon9ee-api.dll"/>
839
          <include name="Query.exe"/>
840
          <include name="Transform.exe"/>
841
          <include name="Validate.exe"/>
842
        </fileset> 
843
      </copy> 
844

    
845
    </target>
846
    
847
    <target name="product-n" description="Assemble product.directories for Saxon on .NET"
848
                                                                                           depends="product-hen, product-pen, product-een">
849
                                                                                           
850
       <!-- Following steps are for diagnostics only, they can be omitted if Powershell is not available -->
851
                                                                                           
852
       <exec executable="c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe">
853
                  <arg line="tools/list-dependencies.ps1"/>
854
                  <arg line="${build-hen.dir}/bin"/>
855
           </exec>
856
           
857
           <exec executable="c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe">
858
                  <arg line="tools/list-dependencies.ps1"/>
859
                  <arg line="${build-pen.dir}/bin"/>
860
           </exec>
861
           
862
           <exec executable="c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe">
863
                  <arg line="tools/list-dependencies.ps1"/>
864
                  <arg line="${build-een.dir}/bin"/>
865
           </exec>
866
           
867
        </target>                                                                                          
868
       
869
    <target name="samples-n" description="Assemble release samples for .NET"
870
                  depends="csharp-hen, compile-samples-n">
871
      <mkdir dir="${build-resources.dir}/samples/cs"/>
872
      <copy todir="${build-resources.dir}/samples/cs"> 
873
        <fileset dir="${temp-src-nc.dir}/samples">
874
          <include name="*.cs"/>
875
        </fileset>
876
      </copy>
877
      <mkdir dir="${build-resources.dir}/samples/cs/bin"/>
878
      <copy todir="${build-resources.dir}/samples/cs/bin"> 
879
        <fileset dir="${dll-n.dir}/samples">
880
          <include name="*.exe"/>
881
          <include name="*.dll"/>
882
          <include name="*.pdb"/>
883
        </fileset>
884
      </copy>
885
      <copy todir="${build-resources.dir}/samples/cs/bin"> 
886
        <fileset dir="${dll-n.dir}/tests">
887
          <include name="*.exe"/>
888
          <include name="*.dll"/>
889
          <include name="*.pdb"/>
890
        </fileset>
891
      </copy>      
892
    </target>
893
    
894
    <target name="dotnetdoc-dependset">
895
      <dependset>
896
        <srcfilelist dir="${dotnetdoc.dir}" files="*.xsl"/> 
897
        <srcfilelist dir="${temp-src-nc.dir}/api/Saxon.Api" files="*.cs"/>
898
        <targetfileset dir="${dotnetdoc.dir}" includes="names.xml"/>
899
      </dependset>
900
    </target>               
901
                     
902
    <target name="product-dotnetdoc" description="Create .NET API documentation"
903
        depends="copysource-development-n, csharp-hen, dotnetdoc-dependset">
904
      <taskdef name="saxon-xslt" 
905
                                 classname="net.sf.saxon.ant.AntTransform" 
906
                                 classpath="e:\saxon-build\9.1.0.7\saj\saxon9sa.jar;e:\saxon-build\9.1.0.7\bj\saxon9-ant.jar;c:\saxon-licenses"/>
907

    
908
      <saxon-xslt       in="${dotnetdoc.dir}/parsecs.xsl"
909
                                    style="${dotnetdoc.dir}/parsecs.xsl"
910
                                    initialTemplate="main"
911
                                    out="${dotnetdoc.dir}/names.xml"/>
912
          <saxon-xslt in="${dotnetdoc.dir}/names.xml" 
913
                                    style="${dotnetdoc.dir}/merge.xsl"
914
                                    initialTemplate="main"
915
                                    out="${dotnetdoc.dir}/merged.xml"/>
916
      <saxon-xslt in="${dotnetdoc.dir}/merged.xml" 
917
                                    style="${dotnetdoc.dir}/tohtml.xsl"
918
                                    out="${dotnetdoc.dir}/out/index.html"/>                                        
919
      
920
      <mkdir dir="${build-resources.dir}/doc/dotnetdoc"/>
921
      <copy todir="${build-resources.dir}/doc/dotnetdoc">
922
        <fileset dir="${dotnetdoc.dir}/out/html"/>
923
      </copy>
924
      <copy file="${dotnetdoc.dir}/out/index.html"
925
              tofile="${build-resources.dir}/doc/dotnetdoc/index.html"
926
              overwrite="true"/>
927
      <copy file="${userdoc.dir}/fixed/javadoc/stylesheet.css"
928
              tofile="${build-resources.dir}/doc/dotnetdoc/stylesheet.css"
929
              overwrite="true"/>
930
    </target>  
931
    
932
    
933
    <target name="release-userdoc-n" description="Generate User Documentation">
934
      <copy todir="${product.dir}/hen">
935
        <fileset dir="${userdoc.dir}/welcome">
936
          <include name="doc/**"/>
937
          <include name="notices/**"/>
938
          <exclude name="notices/APACHE-TAGSOUP.txt"/>
939
        </fileset>
940
      </copy>
941
      <copy todir="${product.dir}/pen">
942
        <fileset dir="${userdoc.dir}/welcome">
943
          <include name="doc/**"/>
944
          <include name="notices/**"/>
945
        </fileset>
946
      </copy>
947
      <copy todir="${product.dir}/een">
948
        <fileset dir="${userdoc.dir}/welcome">
949
          <include name="doc/**"/>
950
          <include name="notices/**"/>
951
        </fileset>
952
      </copy>       
953
                     
954
    </target>
955
                  
956
    <target name="n" depends="product-n, samples-n"
957
                    description="Generate Saxon for the .NET platform"/> 
958
                    
959
    <target name="installer-hen" description="Create installer for Saxon-HE on .NET" depends="n">
960
       <mkdir dir="${temp.dir}/n/installer"/> 
961
       
962
      <echo file="${temp.dir}/n/installer/he.iss">
963
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
964
; Documentation is at http://www.jrsoftware.org/ishelp/
965

    
966
[Setup]
967
AppName=Saxon-HE ${version}
968
AppVerName=Saxon-HE ${version}
969
DefaultDirName=c:\Program Files\Saxonica\SaxonHE${major.version}N
970
DefaultGroupName=Saxon-HE ${version}
971
PrivilegesRequired=none
972
Compression=lzma
973
SolidCompression=yes
974
SourceDir=${build-hen.dir}\bin
975
OutputDir=${issue.dir}
976
OutputBaseFilename=SaxonHE${versionh}N-setup
977
AppCopyright=Copyright (c) 2010 Saxonica
978

    
979
[Files]
980
; GAC Files
981

    
982
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
983
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
984
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
985
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
986
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
987
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
988
Source: "saxon9he.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9he.dll, ${saxon.strongname}"
989
Source: "saxon9he-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9he-api.dll, ${saxon.strongname}"
990

    
991
; Program Files
992
Source: "Query.exe"; DestDir: "{app}\bin"
993
Source: "Transform.exe"; DestDir: "{app}\bin"
994

    
995
[Registry]
996
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
997
Root: HKCU; Subkey: "Software\Saxonica\SaxonHE-N"; Flags: uninsdeletekey
998
Root: HKCU; Subkey: "Software\Saxonica\SaxonHE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
999
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1000
Root: HKLM; Subkey: "Software\Saxonica\SaxonHE-N"; Flags: uninsdeletekey
1001
Root: HKLM; Subkey: "Software\Saxonica\SaxonHE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1002
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1003

    
1004
[UninstallDelete]
1005
Type: dirifempty; Name: "{app}";         
1006
               
1007
      </echo>
1008
      <exec executable="c:/Program Files/Inno Setup 5/Compil32.exe">
1009
        <arg line="/cc"/>
1010
        <arg line="${temp.dir}/n/installer/he.iss"/>
1011
      </exec>
1012
    </target>   
1013
    
1014
    <target name="installer-pen" description="Create installer for Saxon-PE on .NET" depends="n">
1015
       <mkdir dir="${temp.dir}/n/installer"/> 
1016
       
1017
      <echo file="${temp.dir}/n/installer/pe.iss">
1018
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
1019
; Documentation is at http://www.jrsoftware.org/ishelp/
1020

    
1021
[Setup]
1022
AppName=Saxon-PE ${version}
1023
AppVerName=Saxon-PE ${version}
1024
DefaultDirName=c:\Program Files\Saxonica\SaxonPE${major.version}N
1025
DefaultGroupName=Saxon-PE ${version}
1026
PrivilegesRequired=none
1027
Compression=lzma
1028
SolidCompression=yes
1029
SourceDir=${build-pen.dir}\bin
1030
OutputDir=${issue.dir}
1031
OutputBaseFilename=SaxonPE${versionh}N-setup
1032
AppCopyright=Copyright (c) 2010 Saxonica
1033

    
1034
[Files]
1035
; GAC Files
1036

    
1037
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1038
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1039
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1040
Source: "IKVM.OpenJDK.Security.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Security.dll, ${ikvm.strongname}"
1041
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1042
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1043
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1044
Source: "saxon9pe.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9pe.dll, ${saxon.strongname}"
1045
Source: "saxon9pe-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9pe-api.dll, ${saxon.strongname}"
1046

    
1047
; Program Files
1048
Source: "Query.exe"; DestDir: "{app}\bin"
1049
Source: "Transform.exe"; DestDir: "{app}\bin"
1050

    
1051
[Registry]
1052
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1053
Root: HKCU; Subkey: "Software\Saxonica\SaxonPE-N"; Flags: uninsdeletekey
1054
Root: HKCU; Subkey: "Software\Saxonica\SaxonPE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1055
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1056
Root: HKLM; Subkey: "Software\Saxonica\SaxonPE-N"; Flags: uninsdeletekey
1057
Root: HKLM; Subkey: "Software\Saxonica\SaxonPE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1058
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1059

    
1060
[UninstallDelete]
1061
Type: dirifempty; Name: "{app}";         
1062
                
1063
      </echo>
1064
      <exec executable="c:/Program Files/Inno Setup 5/Compil32.exe">
1065
        <arg line="/cc"/>
1066
        <arg line="${temp.dir}/n/installer/pe.iss"/>
1067
      </exec>
1068
    </target>       
1069
    
1070
    <target name="installer-een" description="Create installer for Saxon-EE on .NET" depends="n">
1071
       <mkdir dir="${temp.dir}/n/installer"/> 
1072
       
1073
      <echo file="${temp.dir}/n/installer/ee.iss">
1074
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
1075
; Documentation is at http://www.jrsoftware.org/ishelp/
1076

    
1077
[Setup]
1078
AppName=Saxon-EE ${version}
1079
AppVerName=Saxon-EE ${version}
1080
DefaultDirName=c:\Program Files\Saxonica\SaxonEE${major.version}N
1081
DefaultGroupName=Saxon-PE ${version}
1082
PrivilegesRequired=none
1083
Compression=lzma
1084
SolidCompression=yes
1085
SourceDir=${build-een.dir}\bin
1086
OutputDir=${issue.dir}
1087
OutputBaseFilename=SaxonEE${versionh}N-setup
1088
AppCopyright=Copyright (c) 2010 Saxonica
1089

    
1090
[Files]
1091
; GAC Files
1092

    
1093
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1094
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1095
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1096
Source: "IKVM.OpenJDK.Security.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Security.dll, ${ikvm.strongname}"
1097
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1098
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1099
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1100
Source: "saxon9ee.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9ee.dll, ${saxon.strongname}"
1101
Source: "saxon9ee-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9ee-api.dll, ${saxon.strongname}"
1102

    
1103
; Program Files
1104
Source: "Query.exe"; DestDir: "{app}\bin"
1105
Source: "Transform.exe"; DestDir: "{app}\bin"
1106
Source: "Validate.exe"; DestDir: "{app}\bin"
1107

    
1108
[Registry]
1109
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1110
Root: HKCU; Subkey: "Software\Saxonica\SaxonEE-N"; Flags: uninsdeletekey
1111
Root: HKCU; Subkey: "Software\Saxonica\SaxonEE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1112
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1113
Root: HKLM; Subkey: "Software\Saxonica\SaxonEE-N"; Flags: uninsdeletekey
1114
Root: HKLM; Subkey: "Software\Saxonica\SaxonEE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1115
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1116

    
1117
[UninstallDelete]
1118
Type: dirifempty; Name: "{app}";          
1119
                
1120
      </echo>
1121
      <exec executable="c:/Program Files/Inno Setup 5/Compil32.exe">
1122
        <arg line="/cc"/>
1123
        <arg line="${temp.dir}/n/installer/ee.iss"/>
1124
      </exec>
1125
    </target> 
1126
    
1127
    <target name="release-n"
1128
        depends="installer-hen, installer-pen, installer-een"/>          
1129
           
1130

    
1131
    
1132

    
1133
      
1134
       
1135
    
1136
</project>
(3-3/6)