Project

Profile

Help

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

he / latest9.6 / build / build-n.xml @ 02f8308b

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
        <!--<property file="ICU.properties"/>-->
11
    <target name="ICU"
12
        description="Generate the necessary modules from ICU to support PE/EE UCA collation and numbering.
13
    These will then eventually be added to the jars">
14
        <echo message="ICU.dir: ${ICU.dir}"/>
15
        <ant dir="${ICU.dir}" target="collator" inheritAll="false"/>
16
        <ant dir="${ICU.dir}" target="format" inheritAll="false"/>
17
    </target>
18
                    
19
    <!-- directories holding C# source code -->
20
    <property name="vss-n.dir" value="${repo-os}/../Saxon.Net"/>
21

    
22
    <!-- directory holding C# source code as in Subversion -->
23
    <!--<property name="subversion-n.dir" value="${root}/saxon-svn2/latest9.0/bn/csource"/>-->        
24
                
25
    <!-- directories for .NET API documentation -->
26
    <property name="doctools-n.dir" value="MyDotNet/doctools"/>
27
    <property name="doctemp-n.dir" value="${temp.dir}"/>
28
    <property name="docout-n.dir" value="${build-resources.dir}/doc/dotnetdoc"/>
29
                        
30
    <!-- location of the C# compiler value=gmcs-->
31
  <condition  property="csharp.compiler" value="/Library/Frameworks/Mono.framework/Versions/3.8.0/bin/gmcs">
32
        <or>
33
          <os family="unix"/>
34
          <os family="mac"/>
35
        </or>
36
      </condition>
37
<!--      <condition property="csharp.compiler" value="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe">
38
        <os family="windows"/>
39
      </condition>-->
40
    
41
  <condition property="csharp.compiler" value="C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe">
42
    <os family="windows"/>
43
  </condition>
44
    <!-- following locations are for IKVMC code used to build the .NET product -->
45
    
46
    <property name="development-ikvm.dir" value="MyDotNet"/>
47
    <property name="ikvm.dir" value="${development-ikvm.dir}/ikvm-0.46.0.2"/>
48
    <property name="generated.stubs.dir" value="${development-ikvm.dir}/stubs"/>
49
    <property name="ikvm.strongname" value="Version=0.46.0.2, Culture=neutral, PublicKeyToken=13235d27fcbfff58, ProcessorArchitecture=MSIL"/>
50
    <property name="saxon.strongname" value="Version=${version}, Culture=neutral, PublicKeyToken=e1fdd002d5083fe6, ProcessorArchitecture=MSIL"/>
51
  <property name="icon" value="${development-ikvm.dir}/icons/favicon.ico"/>
52
    
53
    <!-- Key file used for signing the Saxonica-built .NET product. User builds should use a different key file -->
54
    <property name="saxondotnet.snk" value="${development-ikvm.dir}/saxondotnet.snk"/>
55
    
56
    <!-- set to 'debug' for testing, 'live' for final build -->
57
    <!--<property name="dot.net.debug" value="live"/>--> 
58
    
59
    <!-- The other important thing to enable debugging is that the .pdb file is available in the same directory
60
         as the .dll. -->
61
    
62
    <!-- Precondition for .NET compilation: IKVM is installed.
63
         * Download from www.ikvm.net
64
         * Unzip into ${development-ikvm.dir}
65
         * Register in the GAC (access the Microsoft .NET Framework Configuration item in the 
66
                                Windows Control Panel, and add the assemblies to the Assembly Cache. 
67
                                At a minimum, install the IKVM.OpenJDK.ClassLibrary.dll and IKVM.Runtime.dll)
68
         * Generate stubs in ${generated.stubs.dir} 
69
           for System.Xml.dll, System.Security.dll, and IKVM.OpenJDK.ClassLibrary.dll
70
    -->       
71
    
72
    <!-- following locations are relative to the build file -->
73
        
74
    <property name="temp-src-nj.dir" value="${temp.dir}/n/jsource"/>
75
    <property name="temp-src-prep0-hen.dir" value="${temp.dir}/preprocessed0/hen/source"/>
76
    <property name="temp-src-prep0-een.dir" value="${temp.dir}/preprocessed0/een/source"/>
77
    <property name="temp-src-prep0-pen.dir" value="${temp.dir}/preprocessed0/pen/source"/>
78
    <property name="temp-src-prep-hen.dir" value="${temp.dir}/preprocessed/hen/source"/>
79
    <property name="temp-src-prep-een.dir" value="${temp.dir}/preprocessed/een/source"/>
80
    <property name="temp-src-prep-pen.dir" value="${temp.dir}/preprocessed/pen/source"/>
81
    <property name="temp-src-nc.dir" value="${temp.dir}/n/csource"/>
82
    <property name="classes-n.dir" value="${temp.dir}/n/classes"/> 
83
    <property name="jar-n.dir" value="${temp.dir}/n/jar"/> 
84
    <property name="dll-n.dir" value="${temp.dir}/n/dll"/>  
85

    
86
                <!-- following locations are relative to the destination directory -->
87
                
88
    <property name="build-hen.dir" value="${product.dir}/hen"/> 
89
    <property name="build-pen.dir" value="${product.dir}/pen"/>  
90
    <property name="build-een.dir" value="${product.dir}/een"/>
91
     
92
   
93
    <!-- development source -->
94
        
95
    <property name="source-api-n.dir" value="${vss-n.dir}/Saxon.Api"/>
96
    <!--<property name="source-cmd-n.dir" value="${vss-n.dir}/csource/cmd"/>-->
97
    <!--<property name="source-samples-n.dir" value="${vss-n.dir}/csource/samples"/>-->
98
    <taskdef resource="com/igormaznitsa/jcp/ant/tasks.properties" classpath="../lib/jcp-5.3.jar"/>
99
           
100
    <path id="classpath-n">
101
        <fileset dir="${lib.dir}">
102
            <include name="*.jar"/>
103
        </fileset>
104
        <fileset dir="${ikvm.dir}">
105
                 <include name="classpath/mscorlib.jar"/>
106
                 <include name="classpath/System.jar"/>
107
                 <include name="classpath/IKVM.Runtime.jar"/>
108
        </fileset>
109
        <fileset dir="${generated.stubs.dir}">
110
             <include name="CIL.jar"/>         
111
                 <include name="System.Xml.jar"/>
112
                 <include name="System.Security.jar"/>
113
        </fileset>         
114
    </path>
115
       
116
    
117
    <target name="prepare-libs-n" description="Prepare required libraries for .NET, specifically Xerces, TagSoup, and ASM">
118
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="${lib.dir}\ant-ikvmc.0.5.jar"/>
119
        <mkdir dir="${dll-n.dir}"/>
120
        <copy todir="${dll-n.dir}">
121
          <fileset dir="${ikvm.dir}/bin">
122
            <include name="IKVM.OpenJDK.*.dll"/>
123
            <include name="IKVM.Runtime.dll"/>            
124
          </fileset>
125
          <!--<fileset dir="${ikvm.dir}/openjdk/extras">
126
            <include name="charsets.dll"/>
127
          </fileset>-->
128
        </copy>
129
        <copy file="${saxondotnet.snk}" todir="${basedir}/../make"/>
130
        <mkdir dir="${basedir}/../make/libs/xerces"/>
131
        <unjar src="${lib.dir}/xercesImpl.jar" dest="${basedir}/../make/libs/xerces"/>
132
        <unjar src="${lib.dir}/resolver.jar" dest="${basedir}/../make/libs/xerces"/>
133
        <jar basedir="${basedir}/../make/libs/xerces" compress="${build.compress}" jarfile="${lib.dir}/xerces.jar">
134
            <include name="**/*.class"/>
135
            <include name="**/*.properties"/>
136
            <exclude name="org.w3c.dom.html.HTMLDOMImplementation.class"/>
137
            <exclude name="META-INF/MANIFEST.MF"/>
138
        </jar>
139
    </target>    
140
        
141

    
142
    <target name="expand-icu" unless="ICU-exists">
143
      <echo>Expanding ICU source...</echo>
144
      <untar src="${lib.dir}/icu4j-52_1.tar" dest="${ICU.dir}"/>
145
    </target>
146

    
147
    <target name="prepare-n" depends="prepare-libs-n,expand-icu">
148
          <available property="ICU-exists" file="${ICU.dir}" type="dir"/>
149
    </target>
150

    
151

    
152
    <target name="copysrc-hen">
153
        <mkdir dir="${temp-src-nj.dir}/hen"/>
154
        <copy todir="${temp-src-nj.dir}/hen">
155
          <fileset dir="${source-hej.dir}">
156
            <include name="net/sf/saxon/**/*.java"/>
157
            <exclude name="**/TransformerFactoryImpl.java"/>
158
            <exclude name="**/ant/**"/>
159
            <exclude name="**/dom/**"/>
160
            <exclude name="**/dom4j/**"/>
161
            <exclude name="**/java/**"/>
162
            <exclude name="**/testdriver/**"/>
163
            <exclude name="net/sf/saxon/testdriver/**/*.java"/>
164
            <exclude name="**/jaxp/**"/>
165
            <exclude name="**/jdom/**"/>
166
            <exclude name="**/jdom2/**"/>
167
            <exclude name="**/axiom/**"/>
168
            <!--<exclude name="**/s9api/**"/>-->
169
            <exclude name="**/s9api/DOMDestination.java"/>
170
            <exclude name="**/sql/**"/>
171
            <exclude name="**/xom/**"/>
172
            <exclude name="**/xpath/**"/>
173
            <exclude name="**/xqj/**"/>
174
            <exclude name="**/stax/**"/>
175
          </fileset>
176
        </copy>
177
    </target>
178

    
179
    <target name="copysrc-pen">
180
        <mkdir dir="${temp-src-nj.dir}/pen"/>
181
        <copy todir="${temp-src-nj.dir}/pen">
182
          <fileset dir="${source-hej.dir}">
183
            <include name="net/sf/saxon/**/*.java"/>
184
            <exclude name="**/TransformerFactoryImpl.java"/>
185
            <exclude name="**/testdriver/**"/>
186
            <exclude name="**/ant/**"/>
187
            <exclude name="**/dom/**"/>
188
            <exclude name="**/dom4j/**"/>
189
            <exclude name="**/java/**"/>
190
            <exclude name="**/jaxp/**"/>
191
            <exclude name="**/jdom/**"/>
192
            <exclude name="**/jdom2/**"/>
193
            <exclude name="**/axiom/**"/>
194
            <!--<exclude name="**/s9api/**"/>-->
195
            <exclude name="**/s9api/DOMDestination.java"/>
196
            <exclude name="**/sql/**"/>
197
            <exclude name="**/xom/**"/>
198
            <exclude name="**/xpath/**"/>
199
            <exclude name="**/xqj/**"/>
200
            <exclude name="**/stax/**"/>
201
          </fileset>
202
          <fileset dir="${source-eej.dir}">
203
            <include name="com/saxonica/**/*.java"/>
204
            <exclude name="com/saxonica/ee/**/*.java"/>
205
            <exclude name="com/saxonica/testdriver/**/*.java"/>
206
            <exclude name="net/sf/saxon/testdriver/**/*.java"/>
207
            <exclude name="com/saxonica/jaxp/*.java"/>
208
            <exclude name="com/saxonica/config/ProfessionalXPathFactory.java" />
209
            <exclude name="com/saxonica/config/EnterpriseConfiguration.java" />
210
            <exclude name="com/saxonica/config/JavaPlatformPE.java" />
211
            <exclude name="com/saxonica/config/ee/**" />
212
            <exclude name="com/saxonica/stream/**" />
213
            <exclude name="com/saxonica/schema/**" />
214
            <exclude name="com/saxonica/bytecode/**" />
215
            <exclude name="com/saxonica/expr/ee/**" />
216
            <exclude name="com/saxonica/update/**/*.java"/>
217
            <exclude name="com/saxonica/validate/**/*.java"/>
218
            <exclude name="com/saxonica/expr/CastToUnion.java"/>
219
            <exclude name="com/saxonica/expr/CastableToUnion.java"/>
220
            <exclude name="com/saxonica/expr/CastableToUnion.java"/>
221
            <exclude name="com/saxonica/Validate.java"/>
222
            <exclude name="com/saxonica/config/ProfessionalTransformerFactory.java"/>
223
            <exclude name="com/saxonica/config/ProfessionalXPathFactory.java"/>
224
            <exclude name="com/saxonica/config/EnterpriseTransformerFactory.java"/>
225
            <exclude name="com/saxonica/config/EnterpriseXPathFactory.java"/>
226
            <exclude name="com/saxonica/config/DynamicLoaderEE.java"/>
227
            <exclude name="com/saxonica/config/StandardSchemaResolver.java"/>
228
            <exclude name="**/xqj/**"/>
229
          </fileset>
230
        </copy>
231
    </target>
232

    
233
   <target name="copysrc-een">
234
        <mkdir dir="${temp-src-nj.dir}/een"/>
235
        <copy todir="${temp-src-nj.dir}/een">
236
          <fileset dir="${source-hej.dir}">
237
            <include name="net/sf/saxon/**/*.java"/>
238
            <exclude name="net/sf/saxon/TransformerFactoryImpl.java"/>
239
            <exclude name="**/ant/**"/>
240
            <exclude name="**/dom/**"/>
241
            <exclude name="**/dom4j/**"/>
242
            <exclude name="**/java/**"/>
243
            <exclude name="**/jaxp/**"/>
244
            <exclude name="**/jdom/**"/>
245
            <exclude name="**/jdom2/**"/>
246
            <exclude name="**/axiom/**"/>
247
           <!--<exclude name="**/s9api/**"/>-->
248
            <exclude name="**/s9api/DOMDestination.java"/>
249
            <exclude name="**/sql/**"/>
250
            <exclude name="**/xom/**"/>
251
            <exclude name="**/xpath/**"/>
252
            <exclude name="**/xqj/**"/>
253
            <exclude name="**/stax/**"/>
254
          </fileset>
255
          <fileset dir="${source-eej.dir}">
256
            <include name="com/saxonica/**/*.java"/>
257
            <exclude name="com/saxonica/testdriver/**/*.java"/>
258
            <exclude name="net/sf/saxon/testdriver/**/*.java"/>
259
            <exclude name="com/saxonica/ee/jaxp/*.java"/>
260
            <exclude name="com/saxonica/config/JavaPlatformPE.java" />
261
            <exclude name="com/saxonica/config/ProfessionalXPathFactory.java" />
262
            <exclude name="com/saxonica/config/EnterpriseXPathFactory.java" />
263
            <exclude name="com/saxonica/config/ProfessionalTransformerFactory.java" />
264
            <exclude name="com/saxonica/config/EnterpriseTransformerFactory.java" />
265
            <!--<exclude name="com/saxonica/config/pe/**" />
266
            <include name="com/saxonica/config/pe/StyleNodeFactoryPE" />
267
            <include name="com/saxonica/config/pe/ConfigurationReaderPE" />
268
            <include name="com/saxonica/config/pe/DynamicLoaderPE" />-->
269
            <exclude name="**/xqj/**"/>
270
          </fileset>
271
        </copy>
272
    </target>
273

    
274
    
275
    <target name="copysource-development-n" description="Copy source files for Saxon on .NET from development directory">
276
      <copy todir="${temp-src-nc.dir}/api/Saxon.Api/">
277
          <fileset dir="${source-api-n.dir}">
278
            <include name="*.cs"/>
279
            <!--<include name="Saxon.Api/Properties/AssemblyInfo.cs"/>-->
280
          </fileset>
281
        </copy>
282
        <mkdir dir="${temp-src-nc.dir}/api/Saxon.Api/Properties"/>
283
        <echo file="${temp-src-nc.dir}/api/Saxon.Api/Properties/AssemblyInfo.cs">
284
                  using System.Reflection;
285
          using System.Runtime.CompilerServices;
286
          using System.Runtime.InteropServices;
287
          [assembly: AssemblyTitle("Saxon.Api")]
288
          [assembly: AssemblyDescription("")]
289
          [assembly: AssemblyConfiguration("")]
290
          [assembly: AssemblyCompany("Saxonica")]
291
          [assembly: AssemblyProduct("Saxon.Api")]
292
          [assembly: AssemblyCopyright("Copyright © Saxonica 2013")]
293
          [assembly: AssemblyTrademark("")]
294
          [assembly: AssemblyCulture("")]
295
          [assembly: ComVisible(false)]
296
          [assembly: Guid("8cf9aad8-da5f-47f0-9251-1fbcbdcfe477")]
297
          [assembly: AssemblyVersion("${version}")]
298
          [assembly: AssemblyFileVersion("${version}")]
299
        </echo>
300
        <mkdir dir="${temp-src-nc.dir}/cmd"/>
301
        <copy todir="${temp-src-nc.dir}/cmd">
302
          <fileset dir="${vss-n.dir}">
303
            <include name="**/Transform.cs"/>
304
            <include name="**/Query.cs"/>
305
            <include name="**/Validate.cs"/>
306
          </fileset>
307
        </copy>
308
        
309
      <mkdir dir="${temp-src-nc.dir}/samples"/>
310
        <copy todir="${temp-src-nc.dir}/samples">
311
          <fileset dir="${vss-n.dir}/ExamplesHE">
312
            <include name="**/*.cs"/>
313
          </fileset>
314
          <fileset dir="${vss-n.dir}/ExamplesPE">
315
            <include name="**/*.cs"/>
316
          </fileset>
317
          <fileset dir="${vss-n.dir}/ExamplesEE">
318
            <include name="**/*.cs"/>
319
          </fileset>
320
        </copy>
321
    </target>
322

    
323
    <target name="preprocess-hen" depends="copysrc-hen">
324
        <preprocess
325
            source="${temp-src-nj.dir}/hen"
326
            destination="${temp-src-prep0-hen.dir}"
327
            verbose="false">
328
        <global name="DOTNET" value="true"/>
329
        <global name="EE" value="false"/>
330
        <global name="PE" value="false"/>
331
       </preprocess>
332
       <echo>Done preprocessing for HEN.</echo>
333
 
334
       <copy todir="${temp-src-prep-hen.dir}">
335
           <fileset dir="${temp-src-prep0-hen.dir}"/>
336
           <filterchain>
337
              <linecontains negate="true">
338
                 <contains value="import com.saxonica"/>
339
              </linecontains>
340
           </filterchain>
341
       </copy>
342
       <echo>Import filtering for HEN complete.</echo>
343
    </target>
344

    
345

    
346

    
347
    <target name="preprocess-pen" depends="copysrc-pen">
348
        <preprocess
349
            source="${temp-src-nj.dir}/pen"
350
            destination="${temp-src-prep0-pen.dir}"
351
            verbose="false">
352
        <global name="DOTNET" value="true"/>
353
        <global name="PE" value="true"/>
354
        <global name="HOF" value="true"/>
355
        <global name="EE" value="false"/>
356
       </preprocess>
357
       <echo>Done preprocessing for PEN.</echo>
358
       <copy todir="${temp-src-prep-pen.dir}">
359
           <fileset dir="${temp-src-prep0-pen.dir}"/>
360
           <filterchain>
361
              <linecontains negate="true">
362
                 <contains value="import com.saxonica.ee"/>
363
              </linecontains>
364
              <linecontains negate="true">
365
                 <contains value="import com.saxonica.config.ee"/>
366
              </linecontains>
367
           </filterchain>
368
       </copy>
369

    
370
       <echo>Import filtering for PEN complete.</echo>
371
    </target>
372

    
373

    
374

    
375
    <target name="preprocess-een" depends="copysrc-een">
376
        <preprocess
377
                    source="${temp-src-nj.dir}/een"
378
                    destination="${temp-src-prep-een.dir}"
379
                    verbose="false">
380
            <global name="DOTNET" value="true"/>
381
            <global name="EE" value="true"/>
382
            <global name="PE" value="false"/>
383
            <global name="STREAM" value="true"/>
384
            <global name="HOF" value="true"/>
385
            <global name="BYTECODE" value="true"/>
386
            <global name="SCHEMA" value="true"/>
387
       </preprocess>
388
       <echo>Done preprocessing for EEN.</echo>      
389
    </target>
390
                      
391
    <target name="compile-hen" description="Compile Saxon Java classes for the .NET product"
392
            depends="copysource-development-n, preprocess-hen">
393
        <mkdir dir="${classes-n.dir}"/>
394
        <mkdir dir="${classes-n.dir}/he"/>
395
        <echo message="Compile with debug = ${build.debug}, debuglevel = ${build.debuglevel}"/>
396
        <javac debug="${build.debug}" debuglevel="${build.debuglevel}" 
397
            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
398
            optimize="${build.optimize}" srcdir="${temp-src-prep-hen.dir}" source="${build.compiler.source}"
399
            target="${build.compiler.target}"
400
            includeantruntime="false">
401
            <include name="net/**"/>
402
            <classpath>
403
                <path refid="classpath-n"/>
404
            </classpath>
405
        </javac>
406
    </target>
407

    
408
    <target name="compile-pen" description="Compile Saxon Java classes for the .NET product"
409
            depends="copysource-development-n, preprocess-pen, ICU">
410
        <mkdir dir="${classes-n.dir}"/>
411
        <mkdir dir="${classes-n.dir}/pe"/>
412
        <echo message="Compile with debug = ${build.debug}, debuglevel = ${build.debuglevel}"/>
413
        <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
414
            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
415
            optimize="${build.optimize}" srcdir="${temp-src-prep-pen.dir}" source="${build.compiler.source}"
416
            target="${build.compiler.target}"
417
            includeAntRuntime="false">
418
            <include name="net/**"/>
419
            <include name="com/saxonica/**"/>
420
            <classpath>
421
                <path refid="classpath-n"/>
422
            </classpath>
423
        </javac>
424
    </target>
425

    
426
    <target name="compile-een" description="Compile Saxon Java classes for the .NET product"
427
            depends="copysource-development-n, preprocess-een">
428
        <mkdir dir="${classes-n.dir}"/>
429
        <mkdir dir="${classes-n.dir}/ee"/>
430
        <echo message="Compile with debug = ${build.debug}, debuglevel = ${build.debuglevel}"/>
431
        <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
432
            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
433
            optimize="${build.optimize}" srcdir="${temp-src-prep-een.dir}" source="${build.compiler.source}"
434
            target="${build.compiler.target}"
435
            includeantruntime="false">
436
            <include name="net/**"/>
437
            <include name="com/saxonica/**"/>
438
            <exclude name="com/saxonica/testdriver/**" />
439
            <exclude name="net/sf/saxon/testdriver/**"/>
440
            <classpath>
441
                <path refid="classpath-n"/>
442
            </classpath>
443
        </javac>
444
    </target>
445
    
446
    <target name="jar-hen" description="Create Saxon-HE jar files for .NET" depends="compile-hen">
447
        <mkdir dir="${jar-n.dir}"/>
448
        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9he.jar">
449
            <include name="net/**/*.class"/>
450
            <exclude name="net/sf/saxon/option/**/*.class"/>
451
        </jar>
452
        <jar basedir="${development-data.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9he.jar" update="true">
453
            <include name="**"/>
454
        </jar>
455
        <jar basedir="${classes-n.dir}/he" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9he.jar" update="true" />
456

    
457
    </target> 
458
    
459
    <target name="jar-pen" description="Create Saxon-PE jar files for .NET" depends="compile-pen">
460
        <mkdir dir="${jar-n.dir}"/>
461
        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9pe.jar">
462
            <include name="net/**/*.class"/>
463
            <exclude name="net/sf/saxon/ant/*.class"/>
464
            <exclude name="**/sql/**/*.class"/>
465
            <include name="com/saxonica/**/*.class"/>
466
            <exclude name="com/saxonica/bytecode/**/*.class"/>
467
            <exclude name="com/saxonica/jaxp/**/**/*.class"/>
468
            <exclude name="com/saxonica/schema/**/*.class"/>
469
            <exclude name="com/saxonica/stream/**/*.class"/>
470
            <exclude name="com/saxonica/testdriver/**/*.class"/>
471
            <exclude name="net/sf/saxon/testdriver/**/*.class"/>
472
            <exclude name="com/saxonica/update/**/*.class"/>
473
            <exclude name="com/saxonica/validate/**/*.class"/>
474
            <exclude name="com/saxonica/expr/CastToUnion.class"/>
475
            <exclude name="com/saxonica/expr/CastableToUnion.class"/>
476
            <exclude name="com/saxonica/expr/CastableToList.class"/>
477
            <exclude name="com/saxonica/Validate.class"/>
478
            <exclude name="com/saxonica/config/EnterpriseConfiguration.class"/>
479
            <exclude name="com/saxonica/config/EnterpriseConfiguration$SurrogateSchema.class"/>
480
            <exclude name="com/saxonica/config/EnterpriseConfiguration$1.class"/>
481
            <exclude name="com/saxonica/config/ProfessionalTransformerFactory.class"/>
482
            <exclude name="com/saxonica/config/ProfessionalXPathFactory.class"/>
483
            <exclude name="com/saxonica/config/EnterpriseTransformerFactory.class"/>
484
            <exclude name="com/saxonica/config/EnterpriseXPathFactory.class"/>
485
            <exclude name="com/saxonica/config/DynamicLoaderEE.class"/>
486
            <exclude name="com/saxonica/config/StandardSchemaResolver.class"/>
487
            <exclude name="com/saxonica/expr/ee/*.class"/>   
488
        </jar>
489
        <jar basedir="${development-data.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9pe.jar" update="true">
490
            <include name="**"/>
491
        </jar>
492
        <jar basedir="${classes-n.dir}/pe" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9pe.jar" update="true" />
493

    
494
          <!-- Include the ICU classes which have been built separately, either in the main JAR or in a subsidiary -->
495
        <jar  basedir="${icu4j.classes.dir}"
496
            compress="${build.compress}" jarfile="${jar-n.dir}/saxon9pe.jar" update="true">
497
            <include name="**"/>
498
        </jar>
499
        <!--<jar if:true="${ICU.separate.JARS}" basedir="${icu4j.classes.dir}" compress="${build.compress}"
500
            jarfile="${product.dir}/pej/saxon9-icu.jar">
501
            <include name="**"/>
502
        </jar>   -->
503

    
504
    </target>     
505
    
506
    <target name="jar-een" description="Create Saxon-EE jar files for .NET" depends="compile-een">
507
        <mkdir dir="${jar-n.dir}"/>
508
        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9ee.jar">
509
            <include name="net/**/*.class"/>
510
            <include name="com/saxonica/**/*.class"/>
511
            <include name="org/objectweb/**/*.class"/>
512
            <exclude name="com/saxonica/config/EnterpriseTransformerFactory.class"/>
513
            <exclude name="com/saxonica/config/EnterpriseXPathFactory.class"/>
514
        </jar>
515
         <jar basedir="${development-data.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9ee.jar" update="true">
516
            <include name="**"/>
517
        </jar>
518
        <jar basedir="${classes-n.dir}/ee" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9ee.jar" update="true" />
519

    
520

    
521
                <!-- Include the ICU classes which have been built separately, unless they are in a separate JAR -->
522
        <jar  basedir="${icu4j.classes.dir}" compress="${build.compress}"
523
            jarfile="${jar-n.dir}/saxon9ee.jar" update="true">
524
            <include name="**"/>
525
        </jar>
526

    
527
    </target>
528
    
529
    <target name="dll-n-prepare" description="Create DLLs for .NET" depends="jar-hen, jar-pen, jar-een">
530
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="${lib.dir}/ant-ikvmc.0.4.1.jar"/>
531
        <mkdir dir="${dll-n.dir}"/>
532
        <copy todir="${jar-n.dir}">
533
          <fileset dir="${lib.dir}">
534
            <include name="tagsoup-1.2.jar"/>
535
            <include name="asm-${asm.version}.jar"/>
536
            <include name="asm-analysis-${asm.version}.jar"/>
537
            <include name="asm-commons-${asm.version}.jar"/>
538
            <include name="asm-tree-${asm.version}.jar"/>
539
            <include name="asm-util-${asm.version}.jar"/>
540
          </fileset>
541
        </copy>
542

    
543
        <!--
544
            Invoke IKVMC to cross-compile the JAR files into DLLs
545
        -->
546
      <!--<property name="os.dir" value="${ikvm.dir}/bin/runMono.bat"  />
547
      <property name="osDebug.dir" value="${ikvm.dir}/bin/runMonoDebug.bat"  />-->
548

    
549
      <condition  property="os.dir" value="${ikvm.dir}/bin/runMono.bat">
550
        <or>
551
          <os family="unix"/>
552
          <os family="mac"/>
553
        </or>
554
      </condition>
555
      <condition property="os.dir" value="${ikvm.dir}/bin/ikvmc.exe">
556
        <os family="windows"/>
557
      </condition>
558
      
559
      <condition  property="osDebug.dir" value="${ikvm.dir}/bin/runMonoDebug.bat">
560
        <or>
561
          <os family="unix"/>
562
          <os family="mac"/>
563
        </or>
564
      </condition>
565
      <condition property="osDebug.dir" value="${ikvm.dir}/bin/ikvmc.exe">
566
        <os family="windows"/>
567
      </condition>
568
      
569
      <echo>
570
        osDir = ${os.dir}
571
        osDebugDir = ${osDebug.dir}
572
      </echo>
573
      
574
    </target>
575
    
576
    <target name="dll-hen" description="Create DLLs for .NET" depends="jar-hen, dll-n-prepare">
577
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="${lib.dir}/ant-ikvmc.0.4.1.jar"/>
578
    
579
        <mkdir dir="${dll-n.dir}/he"/>
580
      
581
                <copy todir="${dll-n.dir}/he">
582
            <fileset dir="${dll-n.dir}">
583
                   <include name="IKVM.OpenJDK.Core.dll"/>
584
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
585
                   <include name="IKVM.OpenJDK.Text.dll"/>
586
                   <include name="IKVM.OpenJDK.Util.dll"/>
587
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
588
                   <include name="xercesImpl.dll"/>
589
              <include name="IKVM.Runtime.dll"/>
590
            </fileset>
591
        </copy>
592

    
593
        <!--  replace the attribute IKVMC with the following attribute home="${ikvm.dir}" -->
594
 
595
        <ikvmc IKVMC="${os.dir}"
596
               assembly="saxon9he" target="library" keyfile="${saxondotnet.snk}" version="${version}"
597
               debug="false"
598
               srcpath="${temp-src-prep-hen.dir}"
599
               out="${basedir}/${dll-n.dir}/he/saxon9he.dll"
600
               verbose="true">
601
          <fileset dir="${basedir}/${jar-n.dir}">
602
            <include name="saxon9he.jar"/>
603
          </fileset>
604
          <fileset dir="${lib.dir}">
605
              <include name="xerces.jar"/>
606
          </fileset>
607
          <reference path="mscorlib.dll"/>
608
          <reference path="System.Xml.dll"/>
609
          <reference path="System.dll"/>
610
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.Core.dll"/>
611
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.Charsets.dll"/>
612
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.Text.dll"/>
613
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.Util.dll"/>
614
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.XML.API.dll"/>
615
       </ikvmc>
616
      
617
    </target>
618
    
619
    <target name="dll-pen" description="Create DLLs for .NET" depends="jar-pen, dll-n-prepare">
620
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="${lib.dir}/ant-ikvmc.0.4.1.jar"/>      
621

    
622
        <mkdir dir="${dll-n.dir}/pe"/>      
623
            <copy todir="${dll-n.dir}/pe">
624
            <fileset dir="${dll-n.dir}">
625
                   <include name="IKVM.OpenJDK.Core.dll"/>
626
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
627
                   <include name="IKVM.OpenJDK.Security.dll"/>
628
                   <include name="IKVM.OpenJDK.Text.dll"/>
629
                   <include name="IKVM.OpenJDK.Util.dll"/>
630
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
631
                   <include name="xercesImpl.dll"/>
632
              <include name="IKVM.Runtime.dll"/>
633
            </fileset>
634
        </copy>
635
        
636
      <ikvmc IKVMC="${os.dir}"
637
               assembly="saxon9pe" 
638
               target="library" 
639
               keyfile="${saxondotnet.snk}" 
640
               version="${version}"
641
               debug="false" 
642
               srcpath="${temp-src-prep-pen.dir}"
643
               out="${basedir}/${dll-n.dir}/pe/saxon9pe.dll"
644
               verbose="true">
645
          <fileset dir="${basedir}/${jar-n.dir}">
646
            <include name="saxon9pe.jar"/>
647
          </fileset>
648
          <fileset dir="${lib.dir}">
649
              <include name="xerces.jar"/>
650
              <include name="tagsoup-1.2.jar"/>
651
          </fileset>
652
          <reference path="mscorlib.dll"/>
653
          <reference path="System.Xml.dll"/>
654
          <reference path="System.dll"/>
655
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Core.dll"/>
656
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Charsets.dll"/>
657
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Security.dll"/>
658
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Text.dll"/>
659
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Util.dll"/>
660
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.XML.API.dll"/>
661
          <reference path="System.Security.dll"/>
662
      </ikvmc>
663

    
664
    </target>
665
      
666
    <target name="dll-een" description="Create DLLs for .NET" depends="jar-een, dll-n-prepare">
667
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="${lib.dir}/ant-ikvmc.0.4.1.jar"/>      
668

    
669
        <mkdir dir="${dll-n.dir}/ee"/>
670
      
671
                <copy todir="${dll-n.dir}/ee">
672
            <fileset dir="${ikvm.dir}/bin">
673
                   <include name="IKVM.OpenJDK.Core.dll"/>
674
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
675
                   <include name="IKVM.OpenJDK.Security.dll"/>
676
                   <include name="IKVM.OpenJDK.Text.dll"/>
677
                   <include name="IKVM.OpenJDK.Util.dll"/>
678
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
679
                   <include name="xercesImpl.dll"/>
680
              <include name="IKVM.Runtime.dll"/>
681
            </fileset>
682
        </copy>
683
        
684
        <ikvmc IKVMC="${os.dir}"
685
               assembly="saxon9ee" 
686
               target="library" 
687
               keyfile="${saxondotnet.snk}" 
688
               version="${version}"
689
               debug="false"
690
               srcpath="${temp-src-prep-een.dir}"
691
               out="${basedir}/${dll-n.dir}/ee/saxon9ee.dll"
692
               verbose="true">
693
          <fileset dir="${basedir}/${jar-n.dir}">
694
            <include name="saxon9ee.jar"/>
695
          </fileset>
696
          <fileset dir="${lib.dir}">
697
              <include name="xerces.jar"/>
698
              <include name="tagsoup-1.2.jar"/>
699
            <include name="asm-${asm.version}.jar"/>
700
            <include name="asm-analysis-${asm.version}.jar"/>
701
            <include name="asm-commons-${asm.version}.jar"/>
702
            <include name="asm-tree-${asm.version}.jar"/>
703
            <include name="asm-util-${asm.version}.jar"/>
704
          </fileset>
705
          <reference path="mscorlib.dll"/>
706
          <reference path="System.dll"/>
707
          <reference path="System.Security.dll"/>
708
          <reference path="System.Xml.dll"/>
709
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Core.dll"/>
710
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Charsets.dll"/>
711
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Security.dll"/>
712
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Text.dll"/>
713
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Util.dll"/>
714
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.XML.API.dll"/>
715
          
716
        </ikvmc>
717
        
718
        <!-- Create a version of the DLL for debugging. Debugging in Visual Studio
719
             requires a version of the assembly that has no strong name. Currently
720
             we build this only for Enterprise Edition. The debugging version of the
721
             DLL plays no further part in the build, and is not included in the
722
             released product, but it can be used by linking it as a reference
723
             from the relevant client in Visual Studio, for example Transform.exe -->
724
        
725
        <echo>[saxon9ee-debug.dll]</echo>
726
        <ikvmc IKVMC="${osDebug.dir}"
727
               assembly="saxon9ee-debug" 
728
               target="library"
729
               debug="true"
730
               srcpath="${temp-src-prep-een.dir}"
731
               out="${basedir}/${dll-n.dir}/ee/saxon9ee-debug.dll"
732
               verbose="true">
733
          <fileset dir="${basedir}/${jar-n.dir}">
734
            <include name="saxon9ee.jar"/>
735
          </fileset>
736
          <fileset dir="${lib.dir}">
737
              <include name="xerces.jar"/>
738
              <include name="tagsoup-1.2.jar"/>
739
            <include name="asm-${asm.version}.jar"/>
740
            <include name="asm-analysis-${asm.version}.jar"/>
741
            <include name="asm-commons-${asm.version}.jar"/>
742
            <include name="asm-tree-${asm.version}.jar"/>
743
            <include name="asm-util-${asm.version}.jar"/>
744
          </fileset>
745
          <reference path="mscorlib.dll"/>
746
          <reference path="System.Xml.dll"/>
747
          <reference path="System.dll"/>
748
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Core.dll"/>
749
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Charsets.dll"/>
750
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Security.dll"/>
751
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Text.dll"/>
752
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Util.dll"/>
753
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.XML.API.dll"/>
754
          <reference path="System.Security.dll"/>
755
        </ikvmc>
756

    
757
        <!-- NB Remember to add the dll's to the GAC - it doesn't work if you don't -->
758
        
759
    </target>
760
    
761
    <target name="dll-n" depends="dll-hen, dll-pen, dll-een"/>
762
    
763
    <target name="csharp-hen" description="Compile C# source for .NET commands and API library (HE)"
764
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="dll-hen"
765
        > 
766
        
767
        <taskdef 
768
            uri="antlib:org.apache.ant.dotnet">
769
            <classpath>
770
              <pathelement location="${lib.dir}/ant-dotnet-1.1.jar"/>
771
            </classpath>
772
        </taskdef>
773

    
774

    
775
                
776
                <!-- API library DLL -->
777
                
778
                <dn:csc targetType="library" outputFile="${basedir}/${dll-n.dir}/he/saxon9he-api.dll"
779
                     extraOptions="-keyfile:${saxondotnet.snk}"
780
                     executable="${csharp.compiler}">
781
                     <src dir="${basedir}/${temp-src-nc.dir}/api/Saxon.Api" includes="*.cs Properties/AssemblyInfo.cs"/>
782
                     <reference dir="${basedir}/${dll-n.dir}/he">
783
                        <!--<include name="charsets.dll"/>-->
784
                        <include name="IKVM.OpenJDK.Core.dll"/>
785
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
786
                     <include name="IKVM.OpenJDK.Text.dll"/>
787
                     <include name="IKVM.OpenJDK.Util.dll"/>
788
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
789
                     <include name="xercesImpl.dll"/>
790
                        <include name="IKVM.Runtime.dll"/>
791
                        <include name="saxon9he.dll"/>
792
                     </reference>
793
                </dn:csc>
794
                
795
                <!-- Transform, Query, Validate commands -->
796
                
797
                <echo file="${basedir}/${temp-src-nc.dir}/cmd/AssemblyInfo.cs">
798
                  using System.Reflection;
799
          using System.Runtime.CompilerServices;
800
          using System.Runtime.InteropServices;
801
          [assembly: AssemblyCompany("Saxonica")]
802
          [assembly: AssemblyProduct("Saxon.HE")]
803
          [assembly: AssemblyCopyright("Copyright © Saxonica 2013")]
804
          [assembly: AssemblyVersion("${version}")]
805
          [assembly: AssemblyFileVersion("${version}")]
806
        </echo>
807
                
808
                <dn:csc targetType="exe" 
809
                     win32icon="${icon}"
810
                     outputFile="${basedir}/${dll-n.dir}/he/Transform.exe"
811
                     extraOptions="-keyfile:${saxondotnet.snk}"
812
                     executable="${csharp.compiler}" >
813
                    <src dir="${basedir}/${temp-src-nc.dir}/cmd/Transform" includes="Transform.cs AssemblyInfo.cs"/>
814
                     <reference dir="${basedir}/${dll-n.dir}/he">
815
                        <include name="IKVM.OpenJDK.Core.dll"/>
816
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
817
                     <include name="IKVM.OpenJDK.Text.dll"/>
818
                     <include name="IKVM.OpenJDK.Util.dll"/>
819
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
820
                     <include name="xercesImpl.dll"/>
821
                        <include name="IKVM.Runtime.dll"/>
822
                        <!--<include name="charsets.dll"/>-->
823
                        <include name="saxon9he.dll"/>
824
                     </reference>
825
                </dn:csc>
826
                
827
                <dn:csc targetType="exe" win32icon="${icon}"
828
                     outputFile="${basedir}/${dll-n.dir}/he/Query.exe"
829
                     extraOptions="-keyfile:${saxondotnet.snk}"
830
                     executable="${csharp.compiler}">
831
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd/Query" includes="Query.cs AssemblyInfo.cs"/>
832
                     <reference dir="${basedir}/${dll-n.dir}/he">
833
                        <include name="IKVM.OpenJDK.Core.dll"/>
834
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
835
                     <include name="IKVM.OpenJDK.Text.dll"/>
836
                     <include name="IKVM.OpenJDK.Util.dll"/>
837
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
838
                     <include name="xercesImpl.dll"/>
839
                        <include name="IKVM.Runtime.dll"/>
840
                        <!--<include name="charsets.dll"/>-->
841
                        <include name="saxon9he.dll"/>
842
                     </reference>
843
                </dn:csc>
844
                
845
    </target>
846
    
847
    <target name="csharp-pen" description="Compile C# source for .NET commands and API library (PE)"
848
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="dll-pen"
849
        > <!---->
850
        
851
        <taskdef 
852
            uri="antlib:org.apache.ant.dotnet">
853
            <classpath>
854
              <pathelement location="${lib.dir}/ant-dotnet-1.1.jar"/>
855
            </classpath>
856
          </taskdef>
857

    
858
                <mkdir dir="${dll-n.dir}/pe"/>
859
                
860

    
861
                
862
                <!-- API library DLL -->
863
                
864
                <dn:csc targetType="library" outputFile="${basedir}/${dll-n.dir}/pe/saxon9pe-api.dll"
865
                     extraOptions="-keyfile:${saxondotnet.snk}"
866
                     executable="${csharp.compiler}">
867
                     <src dir="${basedir}/${temp-src-nc.dir}/api/Saxon.Api" includes="*.cs Properties/AssemblyInfo.cs"/>
868
                     <reference dir="${basedir}/${dll-n.dir}/pe">
869
                        <!--<include name="charsets.dll"/>-->
870
                        <include name="IKVM.OpenJDK.Core.dll"/>
871
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
872
                     <include name="IKVM.OpenJDK.Security.dll"/>
873
                     <include name="IKVM.OpenJDK.Text.dll"/>
874
                     <include name="IKVM.OpenJDK.Util.dll"/>
875
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
876
                     <include name="IKVM.Runtime.dll"/>
877
                        <include name="saxon9pe.dll"/>
878
                     </reference>
879
                </dn:csc>
880
                
881
                <!-- Transform, Query, Validate commands -->
882
                
883
                <echo file="${basedir}/${temp-src-nc.dir}/cmd/AssemblyInfo.cs">
884
                  using System.Reflection;
885
          using System.Runtime.CompilerServices;
886
          using System.Runtime.InteropServices;
887
          [assembly: AssemblyCompany("Saxonica")]
888
          [assembly: AssemblyProduct("Saxon.PE")]
889
          [assembly: AssemblyCopyright("Copyright © Saxonica 2013")]
890
          [assembly: AssemblyVersion("${version}")]
891
          [assembly: AssemblyFileVersion("${version}")]
892
        </echo>
893
                
894
                <dn:csc targetType="exe" win32icon="${icon}"
895
                     outputFile="${basedir}/${dll-n.dir}/pe/Transform.exe"
896
                     extraOptions="-keyfile:${saxondotnet.snk}"
897
                     executable="${csharp.compiler}">
898
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd/Transform" includes="Transform.cs AssemblyInfo.cs"/>
899
                     <reference dir="${basedir}/${dll-n.dir}/pe">
900
                        <include name="IKVM.OpenJDK.Core.dll"/>
901
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
902
                     <include name="IKVM.OpenJDK.Security.dll"/>
903
                     <include name="IKVM.OpenJDK.Text.dll"/>
904
                     <include name="IKVM.OpenJDK.Util.dll"/>
905
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
906
                        <include name="IKVM.Runtime.dll"/>
907
                        <!--<include name="charsets.dll"/>-->
908
                        <include name="saxon9pe.dll"/>
909
                     </reference>
910
                </dn:csc>
911
                
912
                <dn:csc targetType="exe" win32icon="${icon}"
913
                     outputFile="${basedir}/${dll-n.dir}/pe/Query.exe"
914
                     extraOptions="-keyfile:${saxondotnet.snk}"
915
                     executable="${csharp.compiler}">
916
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd/Query" includes="Query.cs AssemblyInfo.cs"/>
917
                     <reference dir="${basedir}/${dll-n.dir}/pe">
918
                        <include name="IKVM.OpenJDK.Core.dll"/>
919
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
920
                     <include name="IKVM.OpenJDK.Security.dll"/>
921
                     <include name="IKVM.OpenJDK.Text.dll"/>
922
                     <include name="IKVM.OpenJDK.Util.dll"/>
923
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
924
                        <include name="IKVM.Runtime.dll"/>
925
                        <!--<include name="charsets.dll"/>-->
926
                        <include name="saxon9pe.dll"/>
927
                     </reference>
928
                </dn:csc>
929
                
930
    </target>    
931
    
932
    <target name="csharp-een" description="Compile C# source for .NET commands and API library (EE)"
933
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="dll-een"
934
        > <!---->
935
        
936
        <taskdef 
937
            uri="antlib:org.apache.ant.dotnet">
938
            <classpath>
939
              <pathelement location="${lib.dir}/ant-dotnet-1.1.jar"/>
940
            </classpath>
941
          </taskdef>
942

    
943
                <mkdir dir="${dll-n.dir}/ee"/>
944
                
945
                <copy todir="${dll-n.dir}/ee">
946
            <fileset dir="${dll-n.dir}">
947
                   <include name="IKVM.OpenJDK.Core.dll"/>
948
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
949
                   <include name="IKVM.OpenJDK.Security.dll"/>
950
                   <include name="IKVM.OpenJDK.Text.dll"/>
951
                   <include name="IKVM.OpenJDK.Util.dll"/>
952
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
953
              <include name="IKVM.Runtime.dll"/>
954
              <include name="saxon9ee.dll"/>
955
              <include name="saxon9ee-debug.dll"/>
956
            </fileset>
957
        </copy>
958
                
959
                <!-- API library DLL -->
960
                
961
                <!-- Note, this is not built for debugging in Visual Studio. Such a version
962
                     is best built within VS itself -->
963
                
964
                <dn:csc targetType="library" outputFile="${basedir}/${dll-n.dir}/ee/saxon9ee-api.dll"
965
                     docFile="${doctemp-n.dir}/apidoc.xml"
966
                     extraOptions="-keyfile:${saxondotnet.snk}"
967
                     executable="${csharp.compiler}">
968
                     <src dir="${basedir}/${temp-src-nc.dir}/api/Saxon.Api" includes="*.cs Properties/AssemblyInfo.cs"/>
969
                     <reference dir="${basedir}/${dll-n.dir}/ee">
970
                        <!--<include name="charsets.dll"/>-->
971
                        <include name="IKVM.OpenJDK.Core.dll"/>
972
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
973
                     <include name="IKVM.OpenJDK.Security.dll"/>
974
                     <include name="IKVM.OpenJDK.Text.dll"/>
975
                     <include name="IKVM.OpenJDK.Util.dll"/>
976
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
977
                        <include name="IKVM.Runtime.dll"/>
978
                        <include name="saxon9ee.dll"/>
979
                     </reference>
980
                </dn:csc>
981
                
982
                <!-- Transform, Query, Validate commands -->
983
                
984
                <echo file="${basedir}/${temp-src-nc.dir}/cmd/AssemblyInfo.cs">
985
                  using System.Reflection;
986
          using System.Runtime.CompilerServices;
987
          using System.Runtime.InteropServices;
988
          [assembly: AssemblyCompany("Saxonica")]
989
          [assembly: AssemblyProduct("Saxon.EE")]
990
          [assembly: AssemblyCopyright("Copyright © Saxonica 2013")]
991
          [assembly: AssemblyVersion("${version}")]
992
          [assembly: AssemblyFileVersion("${version}")]
993
        </echo>                
994
                
995
                <dn:csc targetType="exe" win32icon="${icon}"
996
                     outputFile="${basedir}/${dll-n.dir}/ee/Transform.exe"
997
                     extraOptions="-keyfile:${saxondotnet.snk}"
998
                     executable="${csharp.compiler}">
999
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd/Transform" includes="Transform.cs AssemblyInfo.cs"/>
1000
                     <reference dir="${basedir}/${dll-n.dir}/ee">
1001
                        <include name="IKVM.OpenJDK.Core.dll"/>
1002
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
1003
                     <include name="IKVM.OpenJDK.Security.dll"/>
1004
                     <include name="IKVM.OpenJDK.Text.dll"/>
1005
                     <include name="IKVM.OpenJDK.Util.dll"/>
1006
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
1007
                        <include name="IKVM.Runtime.dll"/>
1008
                        <!--<include name="charsets.dll"/>-->
1009
                        <include name="saxon9ee.dll"/>
1010
                     </reference>
1011
                </dn:csc>
1012
                
1013
                <dn:csc targetType="exe" win32icon="${icon}"
1014
                     outputFile="${basedir}/${dll-n.dir}/ee/Query.exe"
1015
                     extraOptions="-keyfile:${saxondotnet.snk}"
1016
                     executable="${csharp.compiler}">
1017
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd/Query" includes="Query.cs AssemblyInfo.cs"/>
1018
                     <reference dir="${basedir}/${dll-n.dir}/ee">
1019
                        <include name="IKVM.OpenJDK.Core.dll"/>
1020
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
1021
                     <include name="IKVM.OpenJDK.Security.dll"/>
1022
                     <include name="IKVM.OpenJDK.Text.dll"/>
1023
                     <include name="IKVM.OpenJDK.Util.dll"/>
1024
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
1025
                        <include name="IKVM.Runtime.dll"/>
1026
                        <!--<include name="charsets.dll"/>-->
1027
                        <include name="saxon9ee.dll"/>
1028
                     </reference>
1029
                </dn:csc>
1030
                
1031
                <dn:csc targetType="exe" win32icon="${icon}"
1032
                     outputFile="${basedir}/${dll-n.dir}/ee/Validate.exe"
1033
                     extraOptions="-keyfile:${saxondotnet.snk}"
1034
                     executable="${csharp.compiler}">
1035
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd/Validate" includes="Validate.cs AssemblyInfo.cs"/>
1036
                     <reference dir="${basedir}/${dll-n.dir}/ee">
1037
                        <include name="IKVM.OpenJDK.Core.dll"/>
1038
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
1039
                     <include name="IKVM.OpenJDK.Security.dll"/>
1040
                     <include name="IKVM.OpenJDK.Text.dll"/>
1041
                     <include name="IKVM.OpenJDK.Util.dll"/>
1042
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
1043
                        <include name="IKVM.Runtime.dll"/>
1044
                        <include name="saxon9ee.dll"/>
1045
                     </reference>
1046
                </dn:csc>
1047
    </target> 
1048
  
1049
    
1050
   <target name="compile-samples-n" description="Compile C# source for .NET commands and API library (HE)"
1051
      xmlns:dn="antlib:org.apache.ant.dotnet" depends="csharp-hen, csharp-pen, csharp-een, samples-common"
1052
      >
1053

    
1054
       <taskdef 
1055
            uri="antlib:org.apache.ant.dotnet">
1056
            <classpath>
1057
              <pathelement location="${lib.dir}/ant-dotnet-1.1.jar"/>
1058
            </classpath>
1059
          </taskdef>
1060

    
1061
                <mkdir dir="${dll-n.dir}/samples"/>
1062
                <mkdir dir="${dll-n.dir}/tests"/>
1063
                
1064
                <!-- Sample applications and test drivers -->
1065
                
1066
                <dn:csc targetType="exe"
1067
                     outputFile="${basedir}/${dll-n.dir}/samples/ExamplesHE.exe"
1068
                     win32icon="${icon}"
1069
                     debug="true"
1070
                     executable="${csharp.compiler}">
1071
                     <src dir="${basedir}/${temp-src-nc.dir}/samples" includes="ExamplesHE.cs"/>
1072
                     <reference dir="${basedir}/${dll-n.dir}/he">
1073
                        <include name="IKVM.OpenJDK.*.dll"/>
1074
                        <include name="saxon9he-api.dll"/>
1075
                     </reference>
1076
                </dn:csc>
1077
                
1078
                <dn:csc targetType="exe"
1079
                     outputFile="${basedir}/${dll-n.dir}/samples/ExamplesPE.exe"
1080
                     win32icon="${icon}"
1081
                     debug="true"
1082
                     executable="${csharp.compiler}">
1083
                     <src dir="${basedir}/${temp-src-nc.dir}/samples" includes="ExamplesPE.cs SampleExtensions.cs"/>
1084
                     <reference dir="${basedir}/${dll-n.dir}/pe">
1085
                        <include name="IKVM.OpenJDK.*.dll"/>
1086
                        <include name="saxon9pe-api.dll"/>
1087
                        <include name="saxon9pe.dll"/>
1088
                     </reference>
1089
                </dn:csc>
1090
                
1091
                <dn:csc targetType="exe"
1092
                     outputFile="${basedir}/${dll-n.dir}/samples/ExamplesEE.exe"
1093
                     win32icon="${icon}"
1094
                     debug="true"
1095
                     executable="${csharp.compiler}">
1096
                     <src dir="${basedir}/${temp-src-nc.dir}/samples" includes="ExamplesEE.cs SampleExtensions.cs"/>
1097
                     <reference dir="${basedir}/${dll-n.dir}/ee">
1098
                        <include name="IKVM.OpenJDK.*.dll"/>
1099
                        <include name="saxon9ee-api.dll"/>
1100
                        <include name="saxon9ee.dll"/>
1101
                     </reference>
1102
                </dn:csc>
1103
                        
1104
                <dn:csc targetType="winexe"
1105
                     outputFile="${basedir}/${dll-n.dir}/samples/TestRunner.exe"
1106
                     win32icon="${icon}"
1107
                     debug="true"
1108
                     executable="${csharp.compiler}">
1109
                     <src dir="${basedir}/${temp-src-nc.dir}/samples/TestRunner">
1110
                       <include name="*.cs"/>
1111
                     </src>
1112
                     <reference dir="${basedir}/${dll-n.dir}/ee">
1113
                        <include name="IKVM.OpenJDK.*.dll"/>
1114
                        <include name="saxon9ee-api.dll"/>
1115
                <include name="saxon9ee.dll"/>
1116
                     </reference>
1117
                </dn:csc>                                
1118
                
1119
                                      
1120

    
1121
    </target>
1122
    
1123
    <target name="product-hen" description="Assemble product.directory for Saxon-HE on .NET"
1124
                                                                                           depends="csharp-hen">
1125
      <mkdir dir="${build-hen.dir}/bin"/>                                                                                     
1126
      <copy todir="${build-hen.dir}/bin">
1127
        <fileset dir="${dll-n.dir}/he">
1128
               <include name="IKVM.OpenJDK.*.dll"/>
1129
          <include name="IKVM.Runtime.dll"/>
1130
          <include name="saxon9he.dll"/>
1131
          <include name="saxon9he-api.dll"/>
1132
          <include name="Query.exe"/>
1133
          <include name="Transform.exe"/>
1134
        </fileset>
1135
      </copy>
1136

    
1137
    </target>
1138
    
1139
    <target name="product-pen" description="Assemble product.directory for Saxon-PE on .NET"
1140
                                                                                           depends="csharp-pen">
1141
      <mkdir dir="${build-pen.dir}/bin"/>                                                                                     
1142
      <copy todir="${build-pen.dir}/bin">
1143
        <fileset dir="${dll-n.dir}/pe">
1144
               <include name="IKVM.OpenJDK.*.dll"/>
1145
          <include name="IKVM.Runtime.dll"/>
1146
          <include name="saxon9pe.dll"/>
1147
          <include name="saxon9pe-api.dll"/>
1148
          <include name="Query.exe"/>
1149
          <include name="Transform.exe"/>
1150
        </fileset>
1151
      </copy>
1152

    
1153
    </target>
1154
    
1155
    <target name="product-een" description="Assemble product.directory for Saxon-EE on .NET"
1156
                                                                                           depends="csharp-een">
1157
      <copy todir="${build-een.dir}/bin">
1158
        <fileset dir="${dll-n.dir}/ee">
1159
               <include name="IKVM.OpenJDK.*.dll"/>
1160
          <include name="IKVM.Runtime.dll"/>
1161
          <include name="saxon9ee.dll"/>
1162
          <include name="saxon9ee-api.dll"/>
1163
          <include name="Query.exe"/>
1164
          <include name="Transform.exe"/>
1165
          <include name="Validate.exe"/>
1166
        </fileset> 
1167
      </copy> 
1168

    
1169
    </target>
1170
    
1171
    <target name="product-n" description="Assemble product.directories for Saxon on .NET"
1172
                                                                                           depends="product-hen, product-pen, product-een">
1173
                                                                                           
1174
       <!-- Following steps are for diagnostics only, they can be omitted if Powershell is not available -->
1175
       
1176
       <!-- Warning: this script has been known to pick up old DLLs from the GAC, and report on these
1177
            in preference to the DLLs in the target directory. If in doubt, copy the DLLs to the GAC and
1178
            then re-run. -->
1179
                                                                                           
1180
       <exec executable="c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe">
1181
                  <arg line="MyDotNet/list-dependencies.ps1"/>
1182
                  <arg line="${build-hen.dir}/bin"/>
1183
           </exec>
1184
           
1185
           <exec executable="c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe">
1186
                  <arg line="MyDotNet/list-dependencies.ps1"/>
1187
                  <arg line="${build-pen.dir}/bin"/>
1188
           </exec>
1189
           
1190
           <exec executable="c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe">
1191
                  <arg line="MyDotNet/list-dependencies.ps1"/>
1192
                  <arg line="${build-een.dir}/bin"/>
1193
           </exec>
1194
           
1195
        </target>                                                                                          
1196
       
1197
    <target name="samples-n" description="Assemble release samples for .NET"
1198
                  depends="csharp-hen, compile-samples-n">
1199

    
1200
      <mkdir dir="${{build-resources.dir}/samples/cs"/>
1201
      <copy todir="${build-resources.dir}/samples/cs"> 
1202
        <fileset dir="${temp-src-nc.dir}/samples">
1203
          <include name="*.cs"/>
1204
        </fileset>
1205
      </copy>
1206
      <mkdir dir="${build-resources.dir}/samples/cs/bin"/>
1207
      <copy todir="${build-resources.dir}/samples/cs/bin"> 
1208
        <fileset dir="${dll-n.dir}/samples">
1209
          <include name="*.exe"/>
1210
          <include name="*.dll"/>
1211
          <include name="*.pdb"/>
1212
        </fileset>
1213
      </copy>
1214
      <copy todir="${build-resources.dir}/samples/cs/bin"> 
1215
        <fileset dir="${dll-n.dir}/tests">
1216
          <include name="*.exe"/>
1217
          <include name="*.dll"/>
1218
          <include name="*.pdb"/>
1219
        </fileset>
1220
      </copy> 
1221
    </target>  
1222
    
1223
    
1224
    <target name="dotnetdoc-dependset">
1225
      <dependset>
1226
        <srcfilelist dir="${doctools-n.dir}" files="*.xsl"/> 
1227
        <srcfilelist dir="${temp-src-nc.dir}/api/Saxon.Api" files="*.cs"/>
1228
        <srcfilelist dir="${doctemp-n.dir}" files="*apidoc.xml"/>
1229
        <targetfileset dir="${doctemp-n.dir}" includes="names.xml"/>
1230
      </dependset>
1231
    </target>               
1232
                     
1233
    <!--<target name="product-dotnetdoc" description="Create .NET API documentation"
1234
        depends="copysource-development-n, csharp-hen, dotnetdoc-dependset" >-->
1235
  <target name="product-dotnetdoc" description="Create .NET API documentation" depends="csharp-een"
1236
    >
1237
        <mkdir dir="${docout-n.dir}"/>
1238
        
1239
        <xslt  in="${doctools-n.dir}/parsecs.xsl"
1240
                        style="${doctools-n.dir}/parsecs.xsl"
1241
                        out="${doctemp-n.dir}/names.xml">
1242
          <classpath refid="saxonee.class.path"/>
1243
          <param name="inputdir" expression="file:///${vss-n.dir}/csource/api/Saxon.Api"/>
1244
                        <factory name="com.saxonica.config.EnterpriseTransformerFactory">
1245
                            <attribute name="http://saxon.sf.net/feature/initialTemplate" value="main"/>
1246
                        </factory>
1247
            </xslt>
1248
            <xslt  in="${doctemp-n.dir}/names.xml"
1249
                        style="${doctools-n.dir}/merge.xsl"
1250
                        out="${doctemp-n.dir}/merged.xml">
1251
              <classpath refid="saxonee.class.path"/>
1252
                        <param name="names-file" expression="${baseurl}/${doctemp-n.dir}/names.xml"/>
1253
                        <param name="api-doc-file" expression="${baseurl}/${doctemp-n.dir}/apidoc.xml"/>
1254
                        <factory name="com.saxonica.config.EnterpriseTransformerFactory">
1255
                            <attribute name="http://saxon.sf.net/feature/initialTemplate" value="main"/>
1256
                        </factory>
1257
            </xslt>
1258
            <xslt in="${doctemp-n.dir}/merged.xml"
1259
                        style="${doctools-n.dir}/tohtml.xsl"
1260
                        out="${docout-n.dir}/index.html">
1261
              <classpath refid="saxonee.class.path"/>
1262
                        <factory name="com.saxonica.config.EnterpriseTransformerFactory"/>
1263
            </xslt>
1264
                                         
1265
      
1266
      <copy file="${doctools-n.dir}/stylesheet.css"
1267
              tofile="${build-resources.dir}/doc/dotnetdoc/stylesheet.css"
1268
              overwrite="true"/> 
1269
    </target>  
1270
    
1271
    
1272
    <target name="release-userdoc-n" description="Generate User Documentation">
1273
      <copy todir="${product.dir}/hen">
1274
        <fileset dir="${userdoc.dir}/welcome">
1275
          <include name="doc/**"/>
1276
          <include name="notices/**"/>
1277
          <exclude name="notices/APACHE-TAGSOUP.txt"/>
1278
        </fileset>
1279
      </copy>
1280
      <copy todir="${product.dir}/pen">
1281
        <fileset dir="${userdoc.dir}/welcome">
1282
          <include name="doc/**"/>
1283
          <include name="notices/**"/>
1284
        </fileset>
1285
      </copy>
1286
      <copy todir="${product.dir}/een">
1287
        <fileset dir="${userdoc.dir}/welcome">
1288
          <include name="doc/**"/>
1289
          <include name="notices/**"/>
1290
        </fileset>
1291
      </copy>       
1292
                     
1293
    </target>
1294
                  
1295
    <target name="n" depends="product-n"
1296
                    description="Generate Saxon for the .NET platform"/>
1297
                    <!--, samples-n --> 
1298
                    
1299
    <target name="installer-hen" description="Create installer for Saxon-HE on .NET" depends="n">
1300
       <mkdir dir="${temp.dir}/n/installer"/> 
1301
       
1302
      <echo file="${temp.dir}/n/installer/he.iss">
1303
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
1304
; Documentation is at http://www.jrsoftware.org/ishelp/
1305

    
1306
[Setup]
1307
AppName=Saxon-HE ${version}
1308
AppVerName=Saxon-HE ${version}
1309
DefaultDirName=c:\Program Files\Saxonica\SaxonHE${major.version}N
1310
DefaultGroupName=Saxon-HE ${version}
1311
PrivilegesRequired=none
1312
Compression=lzma
1313
SolidCompression=yes
1314
SourceDir=..\..\..\${build-hen.dir}\bin
1315
OutputDir=${basedir}\${issue.dir}
1316
OutputBaseFilename=SaxonHE${versionh}N-setup
1317
AppCopyright=Copyright (c) 2010 Saxonica
1318

    
1319
[Files]
1320
; GAC Files
1321

    
1322
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1323
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1324
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1325
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1326
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1327
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1328
Source: "saxon9he.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9he.dll, ${saxon.strongname}"
1329
Source: "saxon9he-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9he-api.dll, ${saxon.strongname}"
1330

    
1331
; Program Files
1332
Source: "Query.exe"; DestDir: "{app}\bin"
1333
Source: "Transform.exe"; DestDir: "{app}\bin"
1334

    
1335
[Registry]
1336
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1337
Root: HKCU; Subkey: "Software\Saxonica\SaxonHE-N"; Flags: uninsdeletekey
1338
Root: HKCU; Subkey: "Software\Saxonica\SaxonHE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1339
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1340
Root: HKLM; Subkey: "Software\Saxonica\SaxonHE-N"; Flags: uninsdeletekey
1341
Root: HKLM; Subkey: "Software\Saxonica\SaxonHE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1342
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1343

    
1344
[UninstallDelete]
1345
Type: dirifempty; Name: "{app}";         
1346
               
1347
      </echo>
1348
      <exec executable="./Inno Setup 5/Compil32.exe">
1349
        <arg line="/cc"/>
1350
        <arg line="${temp.dir}/n/installer/he.iss"/>
1351
      </exec>
1352
    </target>   
1353
    
1354
    <target name="installer-pen" description="Create installer for Saxon-PE on .NET" depends="n">
1355
       <mkdir dir="${temp.dir}/n/installer"/> 
1356
       
1357
      <echo file="${temp.dir}/n/installer/pe.iss">
1358
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
1359
; Documentation is at http://www.jrsoftware.org/ishelp/
1360

    
1361
[Setup]
1362
AppName=Saxon-PE ${version}
1363
AppVerName=Saxon-PE ${version}
1364
DefaultDirName=c:\Program Files\Saxonica\SaxonPE${major.version}N
1365
DefaultGroupName=Saxon-PE ${version}
1366
PrivilegesRequired=none
1367
Compression=lzma
1368
SolidCompression=yes
1369
SourceDir=..\..\..\${build-pen.dir}\bin
1370
OutputDir=${basedir}\${issue.dir}
1371
OutputBaseFilename=SaxonPE${versionh}N-setup
1372
AppCopyright=Copyright (c) 2010 Saxonica
1373

    
1374
[Files]
1375
; GAC Files
1376

    
1377
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1378
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1379
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1380
Source: "IKVM.OpenJDK.Security.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Security.dll, ${ikvm.strongname}"
1381
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1382
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1383
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1384
Source: "saxon9pe.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9pe.dll, ${saxon.strongname}"
1385
Source: "saxon9pe-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9pe-api.dll, ${saxon.strongname}"
1386

    
1387
; Program Files
1388
Source: "Query.exe"; DestDir: "{app}\bin"
1389
Source: "Transform.exe"; DestDir: "{app}\bin"
1390

    
1391
[Registry]
1392
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1393
Root: HKCU; Subkey: "Software\Saxonica\SaxonPE-N"; Flags: uninsdeletekey
1394
Root: HKCU; Subkey: "Software\Saxonica\SaxonPE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1395
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1396
Root: HKLM; Subkey: "Software\Saxonica\SaxonPE-N"; Flags: uninsdeletekey
1397
Root: HKLM; Subkey: "Software\Saxonica\SaxonPE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1398
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1399

    
1400
[UninstallDelete]
1401
Type: dirifempty; Name: "{app}";         
1402
                
1403
      </echo>
1404
      <exec executable="./Inno Setup 5/Compil32.exe">
1405
        <arg line="/cc"/>
1406
        <arg line="${temp.dir}/n/installer/pe.iss"/>
1407
      </exec>
1408
    </target>       
1409
    
1410
    <target name="installer-een" description="Create installer for Saxon-EE on .NET" depends="n">
1411
       <mkdir dir="${temp.dir}/n/installer"/> 
1412
       
1413
      <echo file="${temp.dir}/n/installer/ee.iss">
1414
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
1415
; Documentation is at http://www.jrsoftware.org/ishelp/
1416

    
1417
[Setup]
1418
AppName=Saxon-EE ${version}
1419
AppVerName=Saxon-EE ${version}
1420
DefaultDirName=c:\Program Files\Saxonica\SaxonEE${major.version}N
1421
DefaultGroupName=Saxon-PE ${version}
1422
PrivilegesRequired=none
1423
Compression=lzma
1424
SolidCompression=yes
1425
SourceDir=..\..\..\${build-een.dir}\bin
1426
OutputDir=${basedir}\${issue.dir}
1427
OutputBaseFilename=SaxonEE${versionh}N-setup
1428
AppCopyright=Copyright (c) 2010 Saxonica
1429

    
1430
[Files]
1431
; GAC Files
1432

    
1433
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1434
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1435
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1436
Source: "IKVM.OpenJDK.Security.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Security.dll, ${ikvm.strongname}"
1437
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1438
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1439
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1440
Source: "saxon9ee.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9ee.dll, ${saxon.strongname}"
1441
Source: "saxon9ee-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9ee-api.dll, ${saxon.strongname}"
1442

    
1443
; Program Files
1444
Source: "Query.exe"; DestDir: "{app}\bin"
1445
Source: "Transform.exe"; DestDir: "{app}\bin"
1446
Source: "Validate.exe"; DestDir: "{app}\bin"
1447

    
1448
[Registry]
1449
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1450
Root: HKCU; Subkey: "Software\Saxonica\SaxonEE-N"; Flags: uninsdeletekey
1451
Root: HKCU; Subkey: "Software\Saxonica\SaxonEE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1452
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1453
Root: HKLM; Subkey: "Software\Saxonica\SaxonEE-N"; Flags: uninsdeletekey
1454
Root: HKLM; Subkey: "Software\Saxonica\SaxonEE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1455
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1456

    
1457
[UninstallDelete]
1458
Type: dirifempty; Name: "{app}";          
1459
                
1460
      </echo>
1461
      <exec executable="./Inno Setup 5/Compil32.exe">
1462
        <arg line="/cc"/>
1463
        <arg line="${temp.dir}/n/installer/ee.iss"/>
1464
      </exec>
1465
    </target> 
1466
    
1467
    <target name="release-n"
1468
        depends="installer-hen, installer-pen, installer-een"/>
1469
           
1470

    
1471
    
1472

    
1473
      
1474
       
1475
    
1476
</project>
(3-3/9)