Project

Profile

Help

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

he / latest9.4 / build / build-n.xml @ a3c08363

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

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

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

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

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

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

    
732
       <taskdef 
733
            uri="antlib:org.apache.ant.dotnet">
734
            <classpath>
735
              <pathelement location="e:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/>
736
            </classpath>
737
          </taskdef>
738

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

    
805
    </target>
806
    
807
    <target name="product-hen" description="Assemble product.directory for Saxon-HE on .NET"
808
                                                                                           depends="csharp-hen">
809
      <mkdir dir="${build-hen.dir}/bin"/>                                                                                     
810
      <copy todir="${build-hen.dir}/bin">
811
        <fileset dir="${dll-n.dir}/he">
812
               <include name="IKVM.OpenJDK.*.dll"/>
813
          <include name="IKVM.Runtime.dll"/>
814
          <include name="saxon9he.dll"/>
815
          <include name="saxon9he-api.dll"/>
816
          <include name="Query.exe"/>
817
          <include name="Transform.exe"/>
818
        </fileset>
819
      </copy>
820

    
821
    </target>
822
    
823
    <target name="product-pen" description="Assemble product.directory for Saxon-PE on .NET"
824
                                                                                           depends="csharp-pen">
825
      <mkdir dir="${build-pen.dir}/bin"/>                                                                                     
826
      <copy todir="${build-pen.dir}/bin">
827
        <fileset dir="${dll-n.dir}/pe">
828
               <include name="IKVM.OpenJDK.*.dll"/>
829
          <include name="IKVM.Runtime.dll"/>
830
          <include name="saxon9pe.dll"/>
831
          <include name="saxon9pe-api.dll"/>
832
          <include name="Query.exe"/>
833
          <include name="Transform.exe"/>
834
        </fileset>
835
      </copy>
836

    
837
    </target>
838
    
839
    <target name="product-een" description="Assemble product.directory for Saxon-SA on .NET"
840
                                                                                           depends="csharp-een">
841
      <copy todir="${build-een.dir}/bin">
842
        <fileset dir="${dll-n.dir}/ee">
843
               <include name="IKVM.OpenJDK.*.dll"/>
844
          <include name="IKVM.Runtime.dll"/>
845
          <include name="saxon9ee.dll"/>
846
          <include name="saxon9ee-api.dll"/>
847
          <include name="Query.exe"/>
848
          <include name="Transform.exe"/>
849
          <include name="Validate.exe"/>
850
        </fileset> 
851
      </copy> 
852

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

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

    
974
[Setup]
975
AppName=Saxon-HE ${version}
976
AppVerName=Saxon-HE ${version}
977
DefaultDirName=c:\Program Files\Saxonica\SaxonHE${major.version}N
978
DefaultGroupName=Saxon-HE ${version}
979
PrivilegesRequired=none
980
Compression=lzma
981
SolidCompression=yes
982
SourceDir=${build-hen.dir}\bin
983
OutputDir=${issue.dir}
984
OutputBaseFilename=SaxonHE${versionh}N-setup
985
AppCopyright=Copyright (c) 2010 Saxonica
986

    
987
[Files]
988
; GAC Files
989

    
990
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
991
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
992
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
993
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
994
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
995
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
996
Source: "saxon9he.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9he.dll, ${saxon.strongname}"
997
Source: "saxon9he-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9he-api.dll, ${saxon.strongname}"
998

    
999
; Program Files
1000
Source: "Query.exe"; DestDir: "{app}\bin"
1001
Source: "Transform.exe"; DestDir: "{app}\bin"
1002

    
1003
[Registry]
1004
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1005
Root: HKCU; Subkey: "Software\Saxonica\SaxonHE-N"; Flags: uninsdeletekey
1006
Root: HKCU; Subkey: "Software\Saxonica\SaxonHE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1007
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1008
Root: HKLM; Subkey: "Software\Saxonica\SaxonHE-N"; Flags: uninsdeletekey
1009
Root: HKLM; Subkey: "Software\Saxonica\SaxonHE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1010
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1011

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

    
1029
[Setup]
1030
AppName=Saxon-PE ${version}
1031
AppVerName=Saxon-PE ${version}
1032
DefaultDirName=c:\Program Files\Saxonica\SaxonPE${major.version}N
1033
DefaultGroupName=Saxon-PE ${version}
1034
PrivilegesRequired=none
1035
Compression=lzma
1036
SolidCompression=yes
1037
SourceDir=${build-pen.dir}\bin
1038
OutputDir=${issue.dir}
1039
OutputBaseFilename=SaxonPE${versionh}N-setup
1040
AppCopyright=Copyright (c) 2010 Saxonica
1041

    
1042
[Files]
1043
; GAC Files
1044

    
1045
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1046
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1047
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1048
Source: "IKVM.OpenJDK.Security.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Security.dll, ${ikvm.strongname}"
1049
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1050
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1051
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1052
Source: "saxon9pe.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9pe.dll, ${saxon.strongname}"
1053
Source: "saxon9pe-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9pe-api.dll, ${saxon.strongname}"
1054

    
1055
; Program Files
1056
Source: "Query.exe"; DestDir: "{app}\bin"
1057
Source: "Transform.exe"; DestDir: "{app}\bin"
1058

    
1059
[Registry]
1060
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1061
Root: HKCU; Subkey: "Software\Saxonica\SaxonPE-N"; Flags: uninsdeletekey
1062
Root: HKCU; Subkey: "Software\Saxonica\SaxonPE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1063
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1064
Root: HKLM; Subkey: "Software\Saxonica\SaxonPE-N"; Flags: uninsdeletekey
1065
Root: HKLM; Subkey: "Software\Saxonica\SaxonPE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1066
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1067

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

    
1085
[Setup]
1086
AppName=Saxon-EE ${version}
1087
AppVerName=Saxon-EE ${version}
1088
DefaultDirName=c:\Program Files\Saxonica\SaxonEE${major.version}N
1089
DefaultGroupName=Saxon-PE ${version}
1090
PrivilegesRequired=none
1091
Compression=lzma
1092
SolidCompression=yes
1093
SourceDir=${build-een.dir}\bin
1094
OutputDir=${issue.dir}
1095
OutputBaseFilename=SaxonEE${versionh}N-setup
1096
AppCopyright=Copyright (c) 2010 Saxonica
1097

    
1098
[Files]
1099
; GAC Files
1100

    
1101
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1102
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1103
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1104
Source: "IKVM.OpenJDK.Security.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Security.dll, ${ikvm.strongname}"
1105
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1106
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1107
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1108
Source: "saxon9ee.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9ee.dll, ${saxon.strongname}"
1109
Source: "saxon9ee-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9ee-api.dll, ${saxon.strongname}"
1110

    
1111
; Program Files
1112
Source: "Query.exe"; DestDir: "{app}\bin"
1113
Source: "Transform.exe"; DestDir: "{app}\bin"
1114
Source: "Validate.exe"; DestDir: "{app}\bin"
1115

    
1116
[Registry]
1117
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1118
Root: HKCU; Subkey: "Software\Saxonica\SaxonEE-N"; Flags: uninsdeletekey
1119
Root: HKCU; Subkey: "Software\Saxonica\SaxonEE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1120
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1121
Root: HKLM; Subkey: "Software\Saxonica\SaxonEE-N"; Flags: uninsdeletekey
1122
Root: HKLM; Subkey: "Software\Saxonica\SaxonEE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1123
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1124

    
1125
[UninstallDelete]
1126
Type: dirifempty; Name: "{app}";          
1127
                
1128
      </echo>
1129
      <exec executable="c:/Program Files/Inno Setup 5/Compil32.exe">
1130
        <arg line="/cc"/>
1131
        <arg line="${temp.dir}/n/installer/ee.iss"/>
1132
      </exec>
1133
    </target> 
1134
    
1135
    <target name="release-n"
1136
        depends="installer-hen, installer-pen, installer-een"/>          
1137
           
1138

    
1139
    
1140

    
1141
      
1142
       
1143
    
1144
</project>
(3-3/6)