Project

Profile

Help

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

he / latest9.5 / build / build-n.xml @ 6717e3bc

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

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

    
132

    
133
    <target name="copysrc-hen">
134
        <mkdir dir="${temp-src-nj.dir}/hen"/>
135
        <copy todir="${temp-src-nj.dir}/hen">
136
          <fileset dir="${source-hej.dir}">
137
            <include name="net/sf/saxon/**/*.java"/>
138
            <exclude name="**/ant/**"/>
139
            <exclude name="**/dom/**"/>
140
            <exclude name="**/dom4j/**"/>
141
            <exclude name="**/java/**"/>
142
            <exclude name="**/jdom/**"/>
143
            <exclude name="**/jdom2/**"/>
144
            <exclude name="**/axiom/**"/>
145
            <exclude name="**/s9api/**"/>
146
            <exclude name="**/sql/**"/>
147
            <exclude name="**/xom/**"/>
148
            <exclude name="**/xpath/**"/>
149
            <exclude name="**/xqj/**"/>
150
            <exclude name="**/stax/**"/>
151
          </fileset>
152
        </copy>
153
    </target>
154

    
155
    <target name="copysrc-pen">
156
        <mkdir dir="${temp-src-nj.dir}/pen"/>
157
        <copy todir="${temp-src-nj.dir}/pen">
158
          <fileset dir="${source-hej.dir}">
159
            <include name="net/sf/saxon/**/*.java"/>
160
            <exclude name="**/ant/**"/>
161
            <exclude name="**/dom/**"/>
162
            <exclude name="**/dom4j/**"/>
163
            <exclude name="**/java/**"/>
164
            <exclude name="**/jdom/**"/>
165
            <exclude name="**/jdom2/**"/>
166
            <exclude name="**/axiom/**"/>
167
            <exclude name="**/s9api/**"/>
168
            <exclude name="**/sql/**"/>
169
            <exclude name="**/xom/**"/>
170
            <exclude name="**/xpath/**"/>
171
            <exclude name="**/xqj/**"/>
172
            <exclude name="**/stax/**"/>
173
          </fileset>
174
          <fileset dir="${source-eej.dir}">
175
            <include name="com/saxonica/**/*.java"/>
176
            <exclude name="com/saxonica/testdriver/**/*.java"/>
177
            <exclude name="com/saxonica/jaxp/*.java"/>
178
            <exclude name="com/saxonica/config/ProfessionalXPathFactory.java" />
179
            <exclude name="com/saxonica/config/EnterpriseConfiguration.java" />
180
            <exclude name="com/saxonica/config/JavaPlatformPE.java" />
181
            <exclude name="com/saxonica/config/ee/**" />
182
            <exclude name="com/saxonica/stream/**" />
183
            <exclude name="com/saxonica/schema/**" />
184
            <exclude name="com/saxonica/bytecode/**" />
185
            <exclude name="com/saxonica/expr/ee/**" />
186
            <exclude name="com/saxonica/update/**/*.java"/>
187
            <exclude name="com/saxonica/validate/**/*.java"/>
188
            <exclude name="com/saxonica/expr/CastToUnion.java"/>
189
            <exclude name="com/saxonica/expr/CastableToUnion.java"/>
190
            <exclude name="com/saxonica/expr/CastableToUnion.java"/>
191
            <exclude name="com/saxonica/Validate.java"/>
192
            <exclude name="com/saxonica/config/ProfessionalTransformerFactory.java"/>
193
            <exclude name="com/saxonica/config/ProfessionalXPathFactory.java"/>
194
            <exclude name="com/saxonica/config/EnterpriseTransformerFactory.java"/>
195
            <exclude name="com/saxonica/config/EnterpriseXPathFactory.java"/>
196
            <exclude name="com/saxonica/config/DynamicLoaderEE.java"/>
197
            <exclude name="com/saxonica/config/StandardSchemaResolver.java"/>
198
          </fileset>
199
        </copy>
200
    </target>
201

    
202
   <target name="copysrc-een">
203
        <mkdir dir="${temp-src-nj.dir}/een"/>
204
        <copy todir="${temp-src-nj.dir}/een">
205
          <fileset dir="${source-hej.dir}">
206
            <include name="net/sf/saxon/**/*.java"/>
207
            <exclude name="**/ant/**"/>
208
            <exclude name="**/dom/**"/>
209
            <exclude name="**/dom4j/**"/>
210
            <exclude name="**/java/**"/>
211
            <exclude name="**/jdom/**"/>
212
            <exclude name="**/jdom2/**"/>
213
            <exclude name="**/axiom/**"/>
214
            <exclude name="**/s9api/**"/>
215
            <exclude name="**/sql/**"/>
216
            <exclude name="**/xom/**"/>
217
            <exclude name="**/xpath/**"/>
218
            <exclude name="**/xqj/**"/>
219
            <exclude name="**/stax/**"/>
220
          </fileset>
221
          <fileset dir="${source-eej.dir}">
222
            <include name="com/saxonica/**/*.java"/>
223
            <exclude name="com/saxonica/testdriver/**/*.java"/>
224
            <exclude name="com/saxonica/jaxp/*.java"/>
225
            <exclude name="com/saxonica/config/JavaPlatformPE.java" />
226
            <exclude name="com/saxonica/config/pe/**" />
227
          </fileset>
228
        </copy>
229
    </target>
230

    
231
    
232
    <target name="copysource-development-n" description="Copy source files for Saxon on .NET from development directory">
233
        <copy todir="${temp-src-nc.dir}/api">
234
          <fileset dir="${source-api-n.dir}">
235
            <include name="Saxon.Api/*.cs"/>
236
            <!--<include name="Saxon.Api/Properties/AssemblyInfo.cs"/>-->
237
          </fileset>
238
        </copy>
239
        <mkdir dir="${temp-src-nc.dir}/api/Saxon.Api/Properties"/>
240
        <echo file="${temp-src-nc.dir}/api/Saxon.Api/Properties/AssemblyInfo.cs">
241
                  using System.Reflection;
242
          using System.Runtime.CompilerServices;
243
          using System.Runtime.InteropServices;
244
          [assembly: AssemblyTitle("Saxon.Api")]
245
          [assembly: AssemblyDescription("")]
246
          [assembly: AssemblyConfiguration("")]
247
          [assembly: AssemblyCompany("Saxonica")]
248
          [assembly: AssemblyProduct("Saxon.Api")]
249
          [assembly: AssemblyCopyright("Copyright © Saxonica 2013")]
250
          [assembly: AssemblyTrademark("")]
251
          [assembly: AssemblyCulture("")]
252
          [assembly: ComVisible(false)]
253
          [assembly: Guid("8cf9aad8-da5f-47f0-9251-1fbcbdcfe477")]
254
          [assembly: AssemblyVersion("${version}")]
255
          [assembly: AssemblyFileVersion("${version}")]
256
        </echo>
257
        <mkdir dir="${temp-src-nc.dir}/cmd"/>
258
        <copy todir="${temp-src-nc.dir}/cmd">
259
          <fileset dir="${source-cmd-n.dir}">
260
            <include name="**/Transform.cs"/>
261
            <include name="**/Query.cs"/>
262
            <include name="**/Validate.cs"/>
263
          </fileset>
264
        </copy>
265
        
266
      <mkdir dir="${temp-src-nc.dir}/samples"/>
267
        <copy todir="${temp-src-nc.dir}/samples">
268
          <fileset dir="${source-samples-n.dir}">
269
            <include name="**/*.cs"/>
270
          </fileset>
271
        </copy>
272
    </target>
273

    
274
    <target name="preprocess-hen" depends="copysrc-hen">
275
        <preprocess
276
            source="${temp-src-nj.dir}/hen"
277
            destination="${temp-src-prep-hen.dir}"
278
            verbose="true">
279
        <global name="DOTNET" value="true"/>
280
        <global name="EE" value="false"/>
281
        <global name="PE" value="false"/>
282
       </preprocess>
283
       <replaceregexp match="import com\.saxonica(.*)" replace="" flags="g">
284
             <fileset dir="${temp-src-prep-hen.dir}" includes="**/*.java" />
285
       </replaceregexp>
286
       <replaceregexp match="import com\.saxonica\.bytecode(.*)" replace="" flags="g">
287
             <fileset dir="${temp-src-prep-hen.dir}" includes="**/*.java" />
288
       </replaceregexp>
289
        <replaceregexp match="import com\.saxonica\.stream(.*)" replace="" flags="g">
290
             <fileset dir="${temp-src-prep-hen.dir}" includes="**/*.java" />
291
       </replaceregexp>
292
       <replaceregexp file="${temp-src-prep-hen.dir}/net/sf/saxon/Configuration.java" match="import net\.sf\.saxon\.java\.JavaPlatform(.*)" replace="" byline="yes" />
293
       <echo>Preprocessing complete!</echo>
294
    </target>
295

    
296

    
297

    
298
    <target name="preprocess-pen" depends="copysrc-pen">
299
        <preprocess
300
            source="${temp-src-nj.dir}/pen"
301
            destination="${temp-src-prep-pen.dir}"
302
            verbose="true">
303
        <global name="DOTNET" value="true"/>
304
        <global name="PE" value="true"/>
305
        <global name="HOF" value="true"/>
306
        <global name="EE" value="false"/>
307
       </preprocess>
308
       <replaceregexp file="${temp-src-prep-pen.dir}/net/sf/saxon/Configuration.java" match="import net\.sf\.saxon\.java\.JavaPlatform(.*)" replace="" byline="yes" />
309
       <replaceregexp file="${temp-src-prep-pen.dir}/net/sf/saxon/Configuration.java" match="import com\.saxonica\.config\.JavaPlatform(.*)" replace="" byline="yes" />
310
       <replaceregexp file="${temp-src-prep-pen.dir}/net/sf/saxon/Configuration.java" match="import com\.saxonica\.config\.EnterpriseConfiguration(.*)" replace="" byline="yes" />
311
       <replaceregexp file="${temp-src-prep-pen.dir}/net/sf/saxon/functions/ConstructorFunctionLibrary.java" match="import com\.saxonica\.expr.CastToUnion(.*)" replace="" byline="yes" />
312
       <replaceregexp match="import com\.saxonica\.bytecode(.*)" replace="" flags="g">
313
             <fileset dir="${temp-src-prep-pen.dir}" includes="**/*.java" />
314
       </replaceregexp>
315
       <replaceregexp match="import com\.saxonica\.config\.ee(.*)" replace="" flags="g">
316
             <fileset dir="${temp-src-prep-pen.dir}" includes="**/*.java" />
317
       </replaceregexp>
318
        <replaceregexp match="import com\.saxonica\.schema(.*)" replace="" flags="g">
319
             <fileset dir="${temp-src-prep-pen.dir}" includes="**/*.java" />
320
       </replaceregexp>
321
        <replaceregexp match="import com\.saxonica\.stream(.*)" replace="" flags="g">
322
             <fileset dir="${temp-src-prep-pen.dir}" includes="**/*.java" />
323
       </replaceregexp>
324
        <replaceregexp match="import com\.saxonica\.update(.*)" replace="" flags="g">
325
             <fileset dir="${temp-src-prep-pen.dir}" includes="**/*.java" />
326
       </replaceregexp>
327
        <replaceregexp match="import com\.saxonica\.expr\.ee(.*)" replace="" flags="g">
328
             <fileset dir="${temp-src-prep-pen.dir}" includes="**/*.java" />
329
       </replaceregexp>
330
       <echo>Preprocessing complete!</echo>
331
    </target>
332

    
333

    
334

    
335
    <target name="preprocess-een" depends="copysrc-een">
336
        <preprocess
337
            source="${temp-src-nj.dir}/een"
338
            destination="${temp-src-prep-een.dir}"
339
            verbose="true">
340
        <global name="DOTNET" value="true"/>
341
        <global name="EE" value="true"/>
342
        <global name="PE" value="false"/>
343
       <global name="STREAM" value="true"/>
344
       <global name="HOF" value="true"/>
345
       <global name="BYTECODE" value="true"/>
346
       <global name="SCHEMA" value="true"/>
347
       </preprocess>
348
       <replaceregexp file="${temp-src-prep-een.dir}/net/sf/saxon/Configuration.java" match="import net\.sf\.saxon\.java\.JavaPlatform(.*)" replace="" byline="yes" />
349
       <replaceregexp file="${temp-src-prep-een.dir}/net/sf/saxon/Configuration.java" match="import com\.saxonica\.config\.JavaPlatform(.*)" replace="" byline="yes" />
350
       <echo>Preprocessing complete!</echo>
351
    </target>
352
                      
353
    <target name="compile-hen" description="Compile Saxon Java classes for the .NET product"
354
            depends="copysource-development-n, preprocess-hen">
355
        <mkdir dir="${classes-n.dir}"/>
356
        <mkdir dir="${classes-n.dir}/he"/>
357
        <echo message="Compile with debug = ${build.debug}, debuglevel = ${build.debuglevel}"/>
358
        <javac debug="${build.debug}" debuglevel="${build.debuglevel}" 
359
            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
360
            optimize="${build.optimize}" srcdir="${temp-src-prep-hen.dir}" source="${build.compiler.source}"
361
            target="${build.compiler.target}"
362
            includeantruntime="false">
363
            <include name="net/**"/>
364
            <classpath>
365
                <path refid="classpath-n"/>
366
            </classpath>
367
        </javac>
368
    </target>
369

    
370
    <target name="compile-pen" description="Compile Saxon Java classes for the .NET product"
371
            depends="copysource-development-n, preprocess-pen">
372
        <mkdir dir="${classes-n.dir}"/>
373
        <mkdir dir="${classes-n.dir}/pe"/>
374
        <echo message="Compile with debug = ${build.debug}, debuglevel = ${build.debuglevel}"/>
375
        <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
376
            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
377
            optimize="${build.optimize}" srcdir="${temp-src-prep-pen.dir}" source="${build.compiler.source}"
378
            target="${build.compiler.target}"
379
            includeAntRuntime="false">
380
            <include name="net/**"/>
381
            <include name="com/saxonica/**"/>
382
            <classpath>
383
                <path refid="classpath-n"/>
384
            </classpath>
385
        </javac>
386
    </target>
387

    
388
        <target name="compile-een" description="Compile Saxon Java classes for the .NET product"
389
            depends="copysource-development-n, preprocess-een">
390
        <mkdir dir="${classes-n.dir}"/>
391
        <mkdir dir="${classes-n.dir}/ee"/>
392
        <echo message="Compile with debug = ${build.debug}, debuglevel = ${build.debuglevel}"/>
393
        <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
394
            deprecation="${build.deprecation}" destdir="${classes-n.dir}"
395
            optimize="${build.optimize}" srcdir="${temp-src-prep-een.dir}" source="${build.compiler.source}"
396
            target="${build.compiler.target}"
397
            includeantruntime="false">
398
            <include name="net/**"/>
399
            <include name="com/saxonica/**"/>
400
            <exclude name="com/saxonica/testdriver/**" />
401
            <exclude name="com/saxonica/config/ee/**" />
402
            <exclude name="**/s9api/**"/>
403
            <exclude name="**/stax/**"/>
404
            <exclude name="**/EnterpriseXPathFactory.java"/>
405
            <exclude name="**/ProfessionalXPathFactory.java"/>
406
            <exclude name="**/EnterpriseTransformerFactory.java"/>
407
            <exclude name="**/ProfessionalTransformerFactory.java"/>
408
            <exclude name="**/JavaPlatform.java"/>
409
            <exclude name="**/JavaPlatformPE.java"/>
410
            <exclude name="**/JavaLocalizerFactory.java"/>
411
            <classpath>
412
                <path refid="classpath-n"/>
413
            </classpath>
414
        </javac>
415
    </target>
416
    
417
    <target name="jar-hen" description="Create Saxon-HE jar files for .NET" depends="compile-hen">
418
        <mkdir dir="${jar-n.dir}"/>
419
        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9he.jar">
420
            <include name="net/**/*.class"/>
421
            <exclude name="net/sf/saxon/option/**/*.class"/>
422
        </jar>
423
        <jar basedir="${development-data.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9he.jar" update="true">
424
            <include name="**"/>
425
        </jar>
426
        <jar basedir="${classes-n.dir}/he" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9he.jar" update="true" />
427

    
428
    </target> 
429
    
430
    <target name="jar-pen" description="Create Saxon-PE jar files for .NET" depends="compile-pen">
431
        <mkdir dir="${jar-n.dir}"/>
432
        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9pe.jar">
433
            <include name="net/**/*.class"/>
434
            <exclude name="net/sf/saxon/ant/*.class"/>
435
            <exclude name="**/sql/**/*.class"/>
436
            <include name="com/saxonica/**/*.class"/>
437
            <exclude name="com/saxonica/bytecode/**/*.class"/>
438
            <exclude name="com/saxonica/jaxp/**/**/*.class"/>
439
            <exclude name="com/saxonica/schema/**/*.class"/>
440
            <exclude name="com/saxonica/stream/**/*.class"/>
441
            <exclude name="com/saxonica/testdriver/**/*.class"/>
442
            <exclude name="com/saxonica/update/**/*.class"/>
443
            <exclude name="com/saxonica/validate/**/*.class"/>
444
            <exclude name="com/saxonica/expr/CastToUnion.class"/>
445
            <exclude name="com/saxonica/expr/CastableToUnion.class"/>
446
            <exclude name="com/saxonica/expr/CastableToList.class"/>
447
            <exclude name="com/saxonica/Validate.class"/>
448
            <exclude name="com/saxonica/config/EnterpriseConfiguration.class"/>
449
            <exclude name="com/saxonica/config/EnterpriseConfiguration$SurrogateSchema.class"/>
450
            <exclude name="com/saxonica/config/EnterpriseConfiguration$1.class"/>
451
            <exclude name="com/saxonica/config/ProfessionalTransformerFactory.class"/>
452
            <exclude name="com/saxonica/config/ProfessionalXPathFactory.class"/>
453
            <exclude name="com/saxonica/config/EnterpriseTransformerFactory.class"/>
454
            <exclude name="com/saxonica/config/EnterpriseXPathFactory.class"/>
455
            <exclude name="com/saxonica/config/DynamicLoaderEE.class"/>
456
            <exclude name="com/saxonica/config/StandardSchemaResolver.class"/>
457
            <exclude name="com/saxonica/expr/ee/*.class"/>   
458
        </jar>
459
        <jar basedir="${development-data.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9pe.jar" update="true">
460
            <include name="**"/>
461
        </jar>
462
        <jar basedir="${classes-n.dir}/pe" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9pe.jar" update="true" />
463

    
464
    </target>     
465
    
466
    <target name="jar-een" description="Create Saxon-EE jar files for .NET" depends="compile-een">
467
        <mkdir dir="${jar-n.dir}"/>
468
        <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9ee.jar">
469
            <include name="net/**/*.class"/>
470
            <include name="com/saxonica/**/*.class"/>
471
            <include name="org/objectweb/**/*.class"/>
472
            <exclude name="com/saxonica/config/EnterpriseTransformerFactory.class"/>
473
            <exclude name="com/saxonica/config/EnterpriseXPathFactory.class"/>
474
        </jar>
475
         <jar basedir="${development-data.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9ee.jar" update="true">
476
            <include name="**"/>
477
        </jar>
478
        <jar basedir="${classes-n.dir}/ee" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9ee.jar" update="true" />
479

    
480
    </target>
481
    
482
    <target name="dll-n-prepare" description="Create DLLs for .NET" depends="jar-hen, jar-pen, jar-een">
483
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="${lib.dir}/ant-ikvmc.0.4.1.jar"/>
484
        <mkdir dir="${dll-n.dir}"/>
485
        <copy todir="${jar-n.dir}">
486
          <fileset dir="${lib.dir}">
487
            <include name="tagsoup-1.2.jar"/>
488
            <include name="asm-3.3.1.jar"/>
489
            <include name="asm-analysis-3.3.1.jar"/>
490
            <include name="asm-commons-3.3.1.jar"/>
491
            <include name="asm-tree-3.3.1.jar"/>
492
            <include name="asm-util-3.3.1.jar"/>
493
          </fileset>
494
        </copy>
495

    
496
        <!--
497
            Invoke IKVMC to cross-compile the JAR files into DLLs
498
        -->
499
      <!--<property name="os.dir" value="${ikvm.dir}/bin/runMono.bat"  />
500
      <property name="osDebug.dir" value="${ikvm.dir}/bin/runMonoDebug.bat"  />-->
501

    
502
      <condition  property="os.dir" value="${ikvm.dir}/bin/runMono.bat">
503
        <or>
504
          <os family="unix"/>
505
          <os family="mac"/>
506
        </or>
507
      </condition>
508
      <condition property="os.dir" value="${ikvm.dir}/bin/ikvmc.exe">
509
        <os family="windows"/>
510
      </condition>
511
      
512
      <condition  property="osDebug.dir" value="${ikvm.dir}/bin/runMonoDebug.bat">
513
        <or>
514
          <os family="unix"/>
515
          <os family="mac"/>
516
        </or>
517
      </condition>
518
      <condition property="osDebug.dir" value="${ikvm.dir}/bin/ikvmc.exe">
519
        <os family="windows"/>
520
      </condition>
521
      
522
      <echo>
523
        osDir = ${os.dir}
524
        osDebugDir = ${osDebug.dir}
525
      </echo>
526
      
527
    </target>
528
    
529
    <target name="dll-hen" description="Create DLLs for .NET" depends="jar-hen, dll-n-prepare">
530
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="${lib.dir}/ant-ikvmc.0.4.1.jar"/>
531
    
532
        <mkdir dir="${dll-n.dir}/he"/>
533
      
534
                <copy todir="${dll-n.dir}/he">
535
            <fileset dir="${dll-n.dir}">
536
                   <include name="IKVM.OpenJDK.Core.dll"/>
537
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
538
                   <include name="IKVM.OpenJDK.Text.dll"/>
539
                   <include name="IKVM.OpenJDK.Util.dll"/>
540
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
541
                   <include name="xercesImpl.dll"/>
542
              <include name="IKVM.Runtime.dll"/>
543
            </fileset>
544
        </copy>
545

    
546
        <!--  replace the attribute IKVMC with the following attribute home="${ikvm.dir}" -->
547
 
548
        <ikvmc IKVMC="${os.dir}"
549
               assembly="saxon9he" target="library" keyfile="${saxondotnet.snk}" version="${version}"
550
               debug="false"
551
               srcpath="${temp-src-prep-hen.dir}"
552
               out="${basedir}/${dll-n.dir}/he/saxon9he.dll"
553
               verbose="true">
554
          <fileset dir="${basedir}/${jar-n.dir}">
555
            <include name="saxon9he.jar"/>
556
          </fileset>
557
          <fileset dir="${lib.dir}">
558
              <include name="xerces.jar"/>
559
          </fileset>
560
          <reference path="mscorlib.dll"/>
561
          <reference path="System.Xml.dll"/>
562
          <reference path="System.dll"/>
563
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.Core.dll"/>
564
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.Charsets.dll"/>
565
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.Text.dll"/>
566
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.Util.dll"/>
567
          <reference path="${dll-n.dir}/he/IKVM.OpenJDK.XML.API.dll"/>
568
       </ikvmc>
569
      
570
    </target>
571
    
572
    <target name="dll-pen" description="Create DLLs for .NET" depends="jar-pen, dll-n-prepare">
573
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="${lib.dir}/ant-ikvmc.0.4.1.jar"/>      
574

    
575
        <mkdir dir="${dll-n.dir}/pe"/>
576
      
577
                <copy todir="${dll-n.dir}/pe">
578
            <fileset dir="${dll-n.dir}">
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="xercesImpl.dll"/>
586
              <include name="IKVM.Runtime.dll"/>
587
            </fileset>
588
        </copy>
589
        
590
      <ikvmc IKVMC="${os.dir}"
591
               assembly="saxon9pe" 
592
               target="library" 
593
               keyfile="${saxondotnet.snk}" 
594
               version="${version}"
595
               debug="false" 
596
               srcpath="${temp-src-prep-pen.dir}"
597
               out="${basedir}/${dll-n.dir}/pe/saxon9pe.dll"
598
               verbose="true">
599
          <fileset dir="${basedir}/${jar-n.dir}">
600
            <include name="saxon9pe.jar"/>
601
          </fileset>
602
          <fileset dir="${lib.dir}">
603
              <include name="xerces.jar"/>
604
              <include name="tagsoup-1.2.jar"/>
605
          </fileset>
606
          <reference path="mscorlib.dll"/>
607
          <reference path="System.Xml.dll"/>
608
          <reference path="System.dll"/>
609
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Core.dll"/>
610
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Charsets.dll"/>
611
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Security.dll"/>
612
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Text.dll"/>
613
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.Util.dll"/>
614
          <reference path="${dll-n.dir}/pe/IKVM.OpenJDK.XML.API.dll"/>
615
          <reference path="System.Security.dll"/>
616
      </ikvmc>
617

    
618
    </target>
619
      
620
    <target name="dll-een" description="Create DLLs for .NET" depends="jar-een, dll-n-prepare">
621
        <taskdef name="ikvmc" classname="net.ikvm.ant.IkvmcTask" classpath="${lib.dir}/ant-ikvmc.0.4.1.jar"/>      
622

    
623
        <mkdir dir="${dll-n.dir}/ee"/>
624
      
625
                <copy todir="${dll-n.dir}/ee">
626
            <fileset dir="${ikvm.dir}/bin">
627
                   <include name="IKVM.OpenJDK.Core.dll"/>
628
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
629
                   <include name="IKVM.OpenJDK.Security.dll"/>
630
                   <include name="IKVM.OpenJDK.Text.dll"/>
631
                   <include name="IKVM.OpenJDK.Util.dll"/>
632
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
633
                   <include name="xercesImpl.dll"/>
634
              <include name="IKVM.Runtime.dll"/>
635
            </fileset>
636
        </copy>
637
        
638
        <ikvmc IKVMC="${os.dir}"
639
               assembly="saxon9ee" 
640
               target="library" 
641
               keyfile="${saxondotnet.snk}" 
642
               version="${version}"
643
               debug="false"
644
               srcpath="${temp-src-prep-een.dir}"
645
               out="${basedir}/${dll-n.dir}/ee/saxon9ee.dll"
646
               verbose="true">
647
          <fileset dir="${basedir}/${jar-n.dir}">
648
            <include name="saxon9ee.jar"/>
649
          </fileset>
650
          <fileset dir="${lib.dir}">
651
              <include name="xerces.jar"/>
652
              <include name="tagsoup-1.2.jar"/>
653
              <include name="asm-3.3.1.jar"/>
654
              <include name="asm-analysis-3.3.1.jar"/>
655
              <include name="asm-commons-3.3.1.jar"/>
656
              <include name="asm-tree-3.3.1.jar"/>
657
              <include name="asm-util-3.3.1.jar"/>
658
          </fileset>
659
          <reference path="mscorlib.dll"/>
660
          <reference path="System.dll"/>
661
          <reference path="System.Security.dll"/>
662
          <reference path="System.Xml.dll"/>
663
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Core.dll"/>
664
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Charsets.dll"/>
665
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Security.dll"/>
666
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Text.dll"/>
667
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Util.dll"/>
668
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.XML.API.dll"/>
669
          
670
        </ikvmc>
671
        
672
        <!-- Create a version of the DLL for debugging. Debugging in Visual Studio
673
             requires a version of the assembly that has no strong name. Currently
674
             we build this only for Enterprise Edition. The debugging version of the
675
             DLL plays no further part in the build, and is not included in the
676
             released product, but it can be used by linking it as a reference
677
             from the relevant client in Visual Studio, for example Transform.exe -->
678
        
679
        <echo>[saxon9ee-debug.dll]</echo>
680
        <ikvmc IKVMC="${osDebug.dir}"
681
               assembly="saxon9ee-debug" 
682
               target="library"
683
               debug="true"
684
               srcpath="${temp-src-prep-een.dir}"
685
               out="${basedir}/${dll-n.dir}/ee/saxon9ee-debug.dll"
686
               verbose="true">
687
          <fileset dir="${basedir}/${jar-n.dir}">
688
            <include name="saxon9ee.jar"/>
689
          </fileset>
690
          <fileset dir="${lib.dir}">
691
              <include name="xerces.jar"/>
692
              <include name="tagsoup-1.2.jar"/>
693
              <include name="mail.jar"/>
694
              <include name="asm-3.3.1.jar"/>
695
              <include name="asm-analysis-3.3.1.jar"/>
696
              <include name="asm-commons-3.3.1.jar"/>
697
              <include name="asm-tree-3.3.1.jar"/>
698
              <include name="asm-util-3.3.1.jar"/>
699
          </fileset>
700
          <reference path="mscorlib.dll"/>
701
          <reference path="System.Xml.dll"/>
702
          <reference path="System.dll"/>
703
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Core.dll"/>
704
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Charsets.dll"/>
705
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Security.dll"/>
706
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Text.dll"/>
707
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.Util.dll"/>
708
          <reference path="${dll-n.dir}/ee/IKVM.OpenJDK.XML.API.dll"/>
709
          <reference path="System.Security.dll"/>
710
        </ikvmc>
711

    
712
        <!-- NB Remember to add the dll's to the GAC - it doesn't work if you don't -->
713
        
714
    </target>
715
    
716
    <target name="dll-n" depends="dll-hen, dll-pen, dll-een"/>
717
    
718
    <target name="csharp-hen" description="Compile C# source for .NET commands and API library (HE)"
719
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="dll-hen"
720
        > 
721
        
722
        <taskdef 
723
            uri="antlib:org.apache.ant.dotnet">
724
            <classpath>
725
              <pathelement location="${lib.dir}/ant-dotnet-1.1.jar"/>
726
            </classpath>
727
        </taskdef>
728

    
729

    
730
                
731
                <!-- API library DLL -->
732
                
733
                <dn:csc targetType="library" outputFile="${basedir}/${dll-n.dir}/he/saxon9he-api.dll"
734
                     extraOptions="-keyfile:${saxondotnet.snk}"
735
                     executable="${csharp.compiler}">
736
                     <src dir="${basedir}/${temp-src-nc.dir}/api/Saxon.Api" includes="*.cs Properties/AssemblyInfo.cs"/>
737
                     <reference dir="${basedir}/${dll-n.dir}/he">
738
                        <!--<include name="charsets.dll"/>-->
739
                        <include name="IKVM.OpenJDK.Core.dll"/>
740
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
741
                     <include name="IKVM.OpenJDK.Text.dll"/>
742
                     <include name="IKVM.OpenJDK.Util.dll"/>
743
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
744
                     <include name="xercesImpl.dll"/>
745
                        <include name="IKVM.Runtime.dll"/>
746
                        <include name="saxon9he.dll"/>
747
                     </reference>
748
                </dn:csc>
749
                
750
                <!-- Transform, Query, Validate commands -->
751
                
752
                <echo file="${basedir}/${temp-src-nc.dir}/cmd/AssemblyInfo.cs">
753
                  using System.Reflection;
754
          using System.Runtime.CompilerServices;
755
          using System.Runtime.InteropServices;
756
          [assembly: AssemblyCompany("Saxonica")]
757
          [assembly: AssemblyProduct("Saxon.HE")]
758
          [assembly: AssemblyCopyright("Copyright © Saxonica 2013")]
759
          [assembly: AssemblyVersion("${version}")]
760
          [assembly: AssemblyFileVersion("${version}")]
761
        </echo>
762
                
763
                <dn:csc targetType="exe" 
764
                     win32icon="${icon}"
765
                     outputFile="${basedir}/${dll-n.dir}/he/Transform.exe"
766
                     extraOptions="-keyfile:${saxondotnet.snk}"
767
                     executable="${csharp.compiler}">
768
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Transform.cs AssemblyInfo.cs"/>
769
                     <reference dir="${basedir}/${dll-n.dir}/he">
770
                        <include name="IKVM.OpenJDK.Core.dll"/>
771
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
772
                     <include name="IKVM.OpenJDK.Text.dll"/>
773
                     <include name="IKVM.OpenJDK.Util.dll"/>
774
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
775
                     <include name="xercesImpl.dll"/>
776
                        <include name="IKVM.Runtime.dll"/>
777
                        <!--<include name="charsets.dll"/>-->
778
                        <include name="saxon9he.dll"/>
779
                     </reference>
780
                </dn:csc>
781
                
782
                <dn:csc targetType="exe" win32icon="${icon}"
783
                     outputFile="${basedir}/${dll-n.dir}/he/Query.exe"
784
                     extraOptions="-keyfile:${saxondotnet.snk}"
785
                     executable="${csharp.compiler}">
786
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Query.cs AssemblyInfo.cs"/>
787
                     <reference dir="${basedir}/${dll-n.dir}/he">
788
                        <include name="IKVM.OpenJDK.Core.dll"/>
789
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
790
                     <include name="IKVM.OpenJDK.Text.dll"/>
791
                     <include name="IKVM.OpenJDK.Util.dll"/>
792
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
793
                     <include name="xercesImpl.dll"/>
794
                        <include name="IKVM.Runtime.dll"/>
795
                        <!--<include name="charsets.dll"/>-->
796
                        <include name="saxon9he.dll"/>
797
                     </reference>
798
                </dn:csc>
799
                
800
    </target>
801
    
802
    <target name="csharp-pen" description="Compile C# source for .NET commands and API library (PE)"
803
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="dll-pen"
804
        > <!---->
805
        
806
        <taskdef 
807
            uri="antlib:org.apache.ant.dotnet">
808
            <classpath>
809
              <pathelement location="${lib.dir}/ant-dotnet-1.1.jar"/>
810
            </classpath>
811
          </taskdef>
812

    
813
                <mkdir dir="${dll-n.dir}/pe"/>
814
                
815

    
816
                
817
                <!-- API library DLL -->
818
                
819
                <dn:csc targetType="library" outputFile="${basedir}/${dll-n.dir}/pe/saxon9pe-api.dll"
820
                     extraOptions="-keyfile:${saxondotnet.snk}"
821
                     executable="${csharp.compiler}">
822
                     <src dir="${basedir}/${temp-src-nc.dir}/api/Saxon.Api" includes="*.cs Properties/AssemblyInfo.cs"/>
823
                     <reference dir="${basedir}/${dll-n.dir}/pe">
824
                        <!--<include name="charsets.dll"/>-->
825
                        <include name="IKVM.OpenJDK.Core.dll"/>
826
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
827
                     <include name="IKVM.OpenJDK.Security.dll"/>
828
                     <include name="IKVM.OpenJDK.Text.dll"/>
829
                     <include name="IKVM.OpenJDK.Util.dll"/>
830
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
831
                     <include name="IKVM.Runtime.dll"/>
832
                        <include name="saxon9pe.dll"/>
833
                     </reference>
834
                </dn:csc>
835
                
836
                <!-- Transform, Query, Validate commands -->
837
                
838
                <echo file="${basedir}/${temp-src-nc.dir}/cmd/AssemblyInfo.cs">
839
                  using System.Reflection;
840
          using System.Runtime.CompilerServices;
841
          using System.Runtime.InteropServices;
842
          [assembly: AssemblyCompany("Saxonica")]
843
          [assembly: AssemblyProduct("Saxon.PE")]
844
          [assembly: AssemblyCopyright("Copyright © Saxonica 2013")]
845
          [assembly: AssemblyVersion("${version}")]
846
          [assembly: AssemblyFileVersion("${version}")]
847
        </echo>
848
                
849
                <dn:csc targetType="exe" win32icon="${icon}"
850
                     outputFile="${basedir}/${dll-n.dir}/pe/Transform.exe"
851
                     extraOptions="-keyfile:${saxondotnet.snk}"
852
                     executable="${csharp.compiler}">
853
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Transform.cs AssemblyInfo.cs"/>
854
                     <reference dir="${basedir}/${dll-n.dir}/pe">
855
                        <include name="IKVM.OpenJDK.Core.dll"/>
856
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
857
                     <include name="IKVM.OpenJDK.Security.dll"/>
858
                     <include name="IKVM.OpenJDK.Text.dll"/>
859
                     <include name="IKVM.OpenJDK.Util.dll"/>
860
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
861
                        <include name="IKVM.Runtime.dll"/>
862
                        <!--<include name="charsets.dll"/>-->
863
                        <include name="saxon9pe.dll"/>
864
                     </reference>
865
                </dn:csc>
866
                
867
                <dn:csc targetType="exe" win32icon="${icon}"
868
                     outputFile="${basedir}/${dll-n.dir}/pe/Query.exe"
869
                     extraOptions="-keyfile:${saxondotnet.snk}"
870
                     executable="${csharp.compiler}">
871
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Query.cs AssemblyInfo.cs"/>
872
                     <reference dir="${basedir}/${dll-n.dir}/pe">
873
                        <include name="IKVM.OpenJDK.Core.dll"/>
874
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
875
                     <include name="IKVM.OpenJDK.Security.dll"/>
876
                     <include name="IKVM.OpenJDK.Text.dll"/>
877
                     <include name="IKVM.OpenJDK.Util.dll"/>
878
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
879
                        <include name="IKVM.Runtime.dll"/>
880
                        <!--<include name="charsets.dll"/>-->
881
                        <include name="saxon9pe.dll"/>
882
                     </reference>
883
                </dn:csc>
884
                
885
    </target>    
886
    
887
    <target name="csharp-een" description="Compile C# source for .NET commands and API library (EE)"
888
            xmlns:dn="antlib:org.apache.ant.dotnet" depends="dll-een"
889
        > <!---->
890
        
891
        <taskdef 
892
            uri="antlib:org.apache.ant.dotnet">
893
            <classpath>
894
              <pathelement location="${lib.dir}/ant-dotnet-1.1.jar"/>
895
            </classpath>
896
          </taskdef>
897

    
898
                <mkdir dir="${dll-n.dir}/ee"/>
899
                
900
                <copy todir="${dll-n.dir}/ee">
901
            <fileset dir="${dll-n.dir}">
902
                   <include name="IKVM.OpenJDK.Core.dll"/>
903
                   <include name="IKVM.OpenJDK.Charsets.dll"/>
904
                   <include name="IKVM.OpenJDK.Security.dll"/>
905
                   <include name="IKVM.OpenJDK.Text.dll"/>
906
                   <include name="IKVM.OpenJDK.Util.dll"/>
907
                   <include name="IKVM.OpenJDK.XML.API.dll"/>
908
              <include name="IKVM.Runtime.dll"/>
909
              <include name="saxon9ee.dll"/>
910
              <include name="saxon9ee-debug.dll"/>
911
            </fileset>
912
        </copy>
913
                
914
                <!-- API library DLL -->
915
                
916
                <!-- Note, this is not built for debugging in Visual Studio. Such a version
917
                     is best built within VS itself -->
918
                
919
                <dn:csc targetType="library" outputFile="${basedir}/${dll-n.dir}/ee/saxon9ee-api.dll"
920
                     docFile="${doctemp-n.dir}/apidoc.xml"
921
                     extraOptions="-keyfile:${saxondotnet.snk}"
922
                     executable="${csharp.compiler}">
923
                     <src dir="${basedir}/${temp-src-nc.dir}/api/Saxon.Api" includes="*.cs Properties/AssemblyInfo.cs"/>
924
                     <reference dir="${basedir}/${dll-n.dir}/ee">
925
                        <!--<include name="charsets.dll"/>-->
926
                        <include name="IKVM.OpenJDK.Core.dll"/>
927
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
928
                     <include name="IKVM.OpenJDK.Security.dll"/>
929
                     <include name="IKVM.OpenJDK.Text.dll"/>
930
                     <include name="IKVM.OpenJDK.Util.dll"/>
931
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
932
                        <include name="IKVM.Runtime.dll"/>
933
                        <include name="saxon9ee.dll"/>
934
                     </reference>
935
                </dn:csc>
936
                
937
                <!-- Transform, Query, Validate commands -->
938
                
939
                <echo file="${basedir}/${temp-src-nc.dir}/cmd/AssemblyInfo.cs">
940
                  using System.Reflection;
941
          using System.Runtime.CompilerServices;
942
          using System.Runtime.InteropServices;
943
          [assembly: AssemblyCompany("Saxonica")]
944
          [assembly: AssemblyProduct("Saxon.EE")]
945
          [assembly: AssemblyCopyright("Copyright © Saxonica 2013")]
946
          [assembly: AssemblyVersion("${version}")]
947
          [assembly: AssemblyFileVersion("${version}")]
948
        </echo>                
949
                
950
                <dn:csc targetType="exe" win32icon="${icon}"
951
                     outputFile="${basedir}/${dll-n.dir}/ee/Transform.exe"
952
                     extraOptions="-keyfile:${saxondotnet.snk}"
953
                     executable="${csharp.compiler}">
954
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Transform.cs AssemblyInfo.cs"/>
955
                     <reference dir="${basedir}/${dll-n.dir}/ee">
956
                        <include name="IKVM.OpenJDK.Core.dll"/>
957
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
958
                     <include name="IKVM.OpenJDK.Security.dll"/>
959
                     <include name="IKVM.OpenJDK.Text.dll"/>
960
                     <include name="IKVM.OpenJDK.Util.dll"/>
961
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
962
                        <include name="IKVM.Runtime.dll"/>
963
                        <!--<include name="charsets.dll"/>-->
964
                        <include name="saxon9ee.dll"/>
965
                     </reference>
966
                </dn:csc>
967
                
968
                <dn:csc targetType="exe" win32icon="${icon}"
969
                     outputFile="${basedir}/${dll-n.dir}/ee/Query.exe"
970
                     extraOptions="-keyfile:${saxondotnet.snk}"
971
                     executable="${csharp.compiler}">
972
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Query.cs AssemblyInfo.cs"/>
973
                     <reference dir="${basedir}/${dll-n.dir}/ee">
974
                        <include name="IKVM.OpenJDK.Core.dll"/>
975
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
976
                     <include name="IKVM.OpenJDK.Security.dll"/>
977
                     <include name="IKVM.OpenJDK.Text.dll"/>
978
                     <include name="IKVM.OpenJDK.Util.dll"/>
979
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
980
                        <include name="IKVM.Runtime.dll"/>
981
                        <!--<include name="charsets.dll"/>-->
982
                        <include name="saxon9ee.dll"/>
983
                     </reference>
984
                </dn:csc>
985
                
986
                <dn:csc targetType="exe" win32icon="${icon}"
987
                     outputFile="${basedir}/${dll-n.dir}/ee/Validate.exe"
988
                     extraOptions="-keyfile:${saxondotnet.snk}"
989
                     executable="${csharp.compiler}">
990
                     <src dir="${basedir}/${temp-src-nc.dir}/cmd" includes="Validate.cs AssemblyInfo.cs"/>
991
                     <reference dir="${basedir}/${dll-n.dir}/ee">
992
                        <include name="IKVM.OpenJDK.Core.dll"/>
993
                     <include name="IKVM.OpenJDK.Charsets.dll"/>
994
                     <include name="IKVM.OpenJDK.Security.dll"/>
995
                     <include name="IKVM.OpenJDK.Text.dll"/>
996
                     <include name="IKVM.OpenJDK.Util.dll"/>
997
                     <include name="IKVM.OpenJDK.XML.API.dll"/>
998
                        <include name="IKVM.Runtime.dll"/>
999
                        <include name="saxon9ee.dll"/>
1000
                     </reference>
1001
                </dn:csc>
1002
    </target> 
1003
  
1004
    
1005
   <target name="compile-samples-n" description="Compile C# source for .NET commands and API library (HE)"
1006
      xmlns:dn="antlib:org.apache.ant.dotnet" depends="csharp-hen, csharp-pen, csharp-een, samples-common"
1007
      >
1008

    
1009
       <taskdef 
1010
            uri="antlib:org.apache.ant.dotnet">
1011
            <classpath>
1012
              <pathelement location="${lib.dir}/ant-dotnet-1.1.jar"/>
1013
            </classpath>
1014
          </taskdef>
1015

    
1016
                <mkdir dir="${dll-n.dir}/samples"/>
1017
                <mkdir dir="${dll-n.dir}/tests"/>
1018
                
1019
                <!-- Sample applications and test drivers -->
1020
                
1021
                <dn:csc targetType="exe"
1022
                     outputFile="${basedir}/${dll-n.dir}/samples/ExamplesHE.exe"
1023
                     win32icon="${icon}"
1024
                     debug="true"
1025
                     executable="${csharp.compiler}">
1026
                     <src dir="${basedir}/${temp-src-nc.dir}/samples" includes="ExamplesHE.cs"/>
1027
                     <reference dir="${basedir}/${dll-n.dir}/he">
1028
                        <include name="IKVM.OpenJDK.*.dll"/>
1029
                        <include name="saxon9he-api.dll"/>
1030
                     </reference>
1031
                </dn:csc>
1032
                
1033
                <dn:csc targetType="exe"
1034
                     outputFile="${basedir}/${dll-n.dir}/samples/ExamplesPE.exe"
1035
                     win32icon="${icon}"
1036
                     debug="true"
1037
                     executable="${csharp.compiler}">
1038
                     <src dir="${basedir}/${temp-src-nc.dir}/samples" includes="ExamplesPE.cs SampleExtensions.cs"/>
1039
                     <reference dir="${basedir}/${dll-n.dir}/pe">
1040
                        <include name="IKVM.OpenJDK.*.dll"/>
1041
                        <include name="saxon9pe-api.dll"/>
1042
                        <include name="saxon9pe.dll"/>
1043
                     </reference>
1044
                </dn:csc>
1045
                
1046
                <dn:csc targetType="exe"
1047
                     outputFile="${basedir}/${dll-n.dir}/samples/ExamplesEE.exe"
1048
                     win32icon="${icon}"
1049
                     debug="true"
1050
                     executable="${csharp.compiler}">
1051
                     <src dir="${basedir}/${temp-src-nc.dir}/samples" includes="ExamplesEE.cs SampleExtensions.cs"/>
1052
                     <reference dir="${basedir}/${dll-n.dir}/ee">
1053
                        <include name="IKVM.OpenJDK.*.dll"/>
1054
                        <include name="saxon9ee-api.dll"/>
1055
                        <include name="saxon9ee.dll"/>
1056
                     </reference>
1057
                </dn:csc>
1058
                        
1059
                <dn:csc targetType="winexe"
1060
                     outputFile="${basedir}/${dll-n.dir}/samples/TestRunner.exe"
1061
                     win32icon="${icon}"
1062
                     debug="true"
1063
                     executable="${csharp.compiler}">
1064
                     <src dir="${basedir}/${temp-src-nc.dir}/samples/TestRunner">
1065
                       <include name="*.cs"/>
1066
                     </src>
1067
                     <reference dir="${basedir}/${dll-n.dir}/ee">
1068
                        <include name="IKVM.OpenJDK.*.dll"/>
1069
                        <include name="saxon9ee-api.dll"/>
1070
                <include name="saxon9ee.dll"/>
1071
                     </reference>
1072
                </dn:csc>                                
1073
                
1074
                                      
1075

    
1076
    </target>
1077
    
1078
    <target name="product-hen" description="Assemble product.directory for Saxon-HE on .NET"
1079
                                                                                           depends="csharp-hen">
1080
      <mkdir dir="${build-hen.dir}/bin"/>                                                                                     
1081
      <copy todir="${build-hen.dir}/bin">
1082
        <fileset dir="${dll-n.dir}/he">
1083
               <include name="IKVM.OpenJDK.*.dll"/>
1084
          <include name="IKVM.Runtime.dll"/>
1085
          <include name="saxon9he.dll"/>
1086
          <include name="saxon9he-api.dll"/>
1087
          <include name="Query.exe"/>
1088
          <include name="Transform.exe"/>
1089
        </fileset>
1090
      </copy>
1091

    
1092
    </target>
1093
    
1094
    <target name="product-pen" description="Assemble product.directory for Saxon-PE on .NET"
1095
                                                                                           depends="csharp-pen">
1096
      <mkdir dir="${build-pen.dir}/bin"/>                                                                                     
1097
      <copy todir="${build-pen.dir}/bin">
1098
        <fileset dir="${dll-n.dir}/pe">
1099
               <include name="IKVM.OpenJDK.*.dll"/>
1100
          <include name="IKVM.Runtime.dll"/>
1101
          <include name="saxon9pe.dll"/>
1102
          <include name="saxon9pe-api.dll"/>
1103
          <include name="Query.exe"/>
1104
          <include name="Transform.exe"/>
1105
        </fileset>
1106
      </copy>
1107

    
1108
    </target>
1109
    
1110
    <target name="product-een" description="Assemble product.directory for Saxon-EE on .NET"
1111
                                                                                           depends="csharp-een">
1112
      <copy todir="${build-een.dir}/bin">
1113
        <fileset dir="${dll-n.dir}/ee">
1114
               <include name="IKVM.OpenJDK.*.dll"/>
1115
          <include name="IKVM.Runtime.dll"/>
1116
          <include name="saxon9ee.dll"/>
1117
          <include name="saxon9ee-api.dll"/>
1118
          <include name="Query.exe"/>
1119
          <include name="Transform.exe"/>
1120
          <include name="Validate.exe"/>
1121
        </fileset> 
1122
      </copy> 
1123

    
1124
    </target>
1125
    
1126
    <target name="product-n" description="Assemble product.directories for Saxon on .NET"
1127
                                                                                           depends="product-hen, product-pen, product-een">
1128
                                                                                           
1129
       <!-- Following steps are for diagnostics only, they can be omitted if Powershell is not available -->
1130
       
1131
       <!-- Warning: this script has been known to pick up old DLLs from the GAC, and report on these
1132
            in preference to the DLLs in the target directory. If in doubt, copy the DLLs to the GAC and
1133
            then re-run. -->
1134
                                                                                           
1135
       <exec executable="c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe">
1136
                  <arg line="MyDotNet/list-dependencies.ps1"/>
1137
                  <arg line="${build-hen.dir}/bin"/>
1138
           </exec>
1139
           
1140
           <exec executable="c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe">
1141
                  <arg line="MyDotNet/list-dependencies.ps1"/>
1142
                  <arg line="${build-pen.dir}/bin"/>
1143
           </exec>
1144
           
1145
           <exec executable="c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe">
1146
                  <arg line="MyDotNet/list-dependencies.ps1"/>
1147
                  <arg line="${build-een.dir}/bin"/>
1148
           </exec>
1149
           
1150
        </target>                                                                                          
1151
       
1152
    <target name="samples-n" description="Assemble release samples for .NET"
1153
                  depends="csharp-hen, compile-samples-n">
1154

    
1155
      <mkdir dir="${{build-resources.dir}/samples/cs"/>
1156
      <copy todir="${build-resources.dir}/samples/cs"> 
1157
        <fileset dir="${temp-src-nc.dir}/samples">
1158
          <include name="*.cs"/>
1159
        </fileset>
1160
      </copy>
1161
      <mkdir dir="${build-resources.dir}/samples/cs/bin"/>
1162
      <copy todir="${build-resources.dir}/samples/cs/bin"> 
1163
        <fileset dir="${dll-n.dir}/samples">
1164
          <include name="*.exe"/>
1165
          <include name="*.dll"/>
1166
          <include name="*.pdb"/>
1167
        </fileset>
1168
      </copy>
1169
      <copy todir="${build-resources.dir}/samples/cs/bin"> 
1170
        <fileset dir="${dll-n.dir}/tests">
1171
          <include name="*.exe"/>
1172
          <include name="*.dll"/>
1173
          <include name="*.pdb"/>
1174
        </fileset>
1175
      </copy> 
1176
    </target>  
1177
    
1178
    
1179
    <target name="dotnetdoc-dependset">
1180
      <dependset>
1181
        <srcfilelist dir="${doctools-n.dir}" files="*.xsl"/> 
1182
        <srcfilelist dir="${temp-src-nc.dir}/api/Saxon.Api" files="*.cs"/>
1183
        <srcfilelist dir="${doctemp-n.dir}" files="*apidoc.xml"/>
1184
        <targetfileset dir="${doctemp-n.dir}" includes="names.xml"/>
1185
      </dependset>
1186
    </target>               
1187
                     
1188
    <target name="product-dotnetdoc" description="Create .NET API documentation"
1189
        depends="copysource-development-n, csharp-hen, dotnetdoc-dependset" >
1190

    
1191
        <mkdir dir="${docout-n.dir}"/>
1192
        
1193
        <xslt  in="${doctools-n.dir}/parsecs.xsl"
1194
                        style="${doctools-n.dir}/parsecs.xsl"
1195
                        out="${doctemp-n.dir}/names.xml">
1196
          <classpath refid="saxonee.class.path"/>
1197
          <param name="inputdir" expression="file:///${vss-n.dir}/csource/api/Saxon.Api"/>
1198
                        <factory name="com.saxonica.config.EnterpriseTransformerFactory">
1199
                            <attribute name="http://saxon.sf.net/feature/initialTemplate" value="main"/>
1200
                        </factory>
1201
            </xslt>
1202
            <xslt  in="${doctemp-n.dir}/names.xml"
1203
                        style="${doctools-n.dir}/merge.xsl"
1204
                        out="${doctemp-n.dir}/merged.xml">
1205
              <classpath refid="saxonee.class.path"/>
1206
                        <param name="names-file" expression="${baseurl}/${doctemp-n.dir}/names.xml"/>
1207
                        <param name="api-doc-file" expression="${baseurl}/${doctemp-n.dir}/apidoc.xml"/>
1208
                        <factory name="com.saxonica.config.EnterpriseTransformerFactory">
1209
                            <attribute name="http://saxon.sf.net/feature/initialTemplate" value="main"/>
1210
                        </factory>
1211
            </xslt>
1212
            <xslt in="${doctemp-n.dir}/merged.xml"
1213
                        style="${doctools-n.dir}/tohtml.xsl"
1214
                        out="${docout-n.dir}/index.html">
1215
              <classpath refid="saxonee.class.path"/>
1216
                        <factory name="com.saxonica.config.EnterpriseTransformerFactory"/>
1217
            </xslt>
1218
             <xslt in="${doctemp-n.dir}/merged.xml"
1219
                        style="${doctools-n.dir}/convert-to-jel-package.xsl"
1220
                        out="${docout-n.dir}/dotnetdoc-xml/packages/Saxon.Api.xml">
1221
              <classpath refid="saxonee.class.path"/>
1222
                        <factory name="com.saxonica.config.EnterpriseTransformerFactory"/>
1223
            </xslt>
1224
      
1225
      <copy file="${doctools-n.dir}/stylesheet.css"
1226
              tofile="${build-resources.dir}/doc/dotnetdoc/stylesheet.css"
1227
              overwrite="true"/> 
1228
    </target>  
1229
    
1230
    
1231
    <target name="release-userdoc-n" description="Generate User Documentation">
1232
      <copy todir="${product.dir}/hen">
1233
        <fileset dir="${userdoc.dir}/welcome">
1234
          <include name="doc/**"/>
1235
          <include name="notices/**"/>
1236
          <exclude name="notices/APACHE-TAGSOUP.txt"/>
1237
        </fileset>
1238
      </copy>
1239
      <copy todir="${product.dir}/pen">
1240
        <fileset dir="${userdoc.dir}/welcome">
1241
          <include name="doc/**"/>
1242
          <include name="notices/**"/>
1243
        </fileset>
1244
      </copy>
1245
      <copy todir="${product.dir}/een">
1246
        <fileset dir="${userdoc.dir}/welcome">
1247
          <include name="doc/**"/>
1248
          <include name="notices/**"/>
1249
        </fileset>
1250
      </copy>       
1251
                     
1252
    </target>
1253
                  
1254
    <target name="n" depends="product-n"
1255
                    description="Generate Saxon for the .NET platform"/>
1256
                    <!--, samples-n --> 
1257
                    
1258
    <target name="installer-hen" description="Create installer for Saxon-HE on .NET" depends="n, release-userdoc-n">
1259
       <mkdir dir="${temp.dir}/n/installer"/> 
1260
       
1261
      <echo file="${temp.dir}/n/installer/he.iss">
1262
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
1263
; Documentation is at http://www.jrsoftware.org/ishelp/
1264

    
1265
[Setup]
1266
AppName=Saxon-HE ${version}
1267
AppVerName=Saxon-HE ${version}
1268
DefaultDirName=c:\Program Files\Saxonica\SaxonHE${major.version}N
1269
DefaultGroupName=Saxon-HE ${version}
1270
PrivilegesRequired=none
1271
Compression=lzma
1272
SolidCompression=yes
1273
SourceDir=..\..\..\${build-hen.dir}\bin
1274
OutputDir=${basedir}\${issue.dir}
1275
OutputBaseFilename=SaxonHE${versionh}N-setup
1276
AppCopyright=Copyright (c) 2010 Saxonica
1277

    
1278
[Files]
1279
; GAC Files
1280

    
1281
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1282
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1283
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1284
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1285
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1286
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1287
Source: "saxon9he.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9he.dll, ${saxon.strongname}"
1288
Source: "saxon9he-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9he-api.dll, ${saxon.strongname}"
1289
Source: "..\notices\APACHE-RESOLVER.txt" ; DestDir: "{app}\notices"
1290
Source: "..\notices\APACHE-XERCES.txt" ; DestDir: "{app}\notices"
1291
Source: "..\notices\CERN.txt" ; DestDir: "{app}\notices"
1292
Source: "..\notices\FRIJTERS.txt" ; DestDir: "{app}\notices"
1293
Source: "..\notices\GPL+CLASSPATH.txt" ; DestDir: "{app}\notices"
1294
Source: "..\notices\JAMESCLARK.txt" ; DestDir: "{app}\notices"
1295
Source: "..\notices\LICENSE.txt" ; DestDir: "{app}\notices"
1296
Source: "..\notices\THAI.txt" ; DestDir: "{app}\notices"
1297
Source: "..\notices\UNICODE.txt" ; DestDir: "{app}\notices"
1298

    
1299
; Program Files
1300
Source: "Query.exe"; DestDir: "{app}\bin"
1301
Source: "Transform.exe"; DestDir: "{app}\bin"
1302

    
1303
[Registry]
1304
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1305
Root: HKCU; Subkey: "Software\Saxonica\SaxonHE-N"; Flags: uninsdeletekey
1306
Root: HKCU; Subkey: "Software\Saxonica\SaxonHE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1307
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1308
Root: HKLM; Subkey: "Software\Saxonica\SaxonHE-N"; Flags: uninsdeletekey
1309
Root: HKLM; Subkey: "Software\Saxonica\SaxonHE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1310
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1311

    
1312
[UninstallDelete]
1313
Type: dirifempty; Name: "{app}";         
1314
               
1315
      </echo>
1316
      <exec executable="./Inno Setup 5/Compil32.exe">
1317
        <arg line="/cc"/>
1318
        <arg line="${temp.dir}/n/installer/he.iss"/>
1319
      </exec>
1320
    </target>   
1321
    
1322
    <target name="installer-pen" description="Create installer for Saxon-PE on .NET" depends="n">
1323
       <mkdir dir="${temp.dir}/n/installer"/> 
1324
       
1325
      <echo file="${temp.dir}/n/installer/pe.iss">
1326
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
1327
; Documentation is at http://www.jrsoftware.org/ishelp/
1328

    
1329
[Setup]
1330
AppName=Saxon-PE ${version}
1331
AppVerName=Saxon-PE ${version}
1332
DefaultDirName=c:\Program Files\Saxonica\SaxonPE${major.version}N
1333
DefaultGroupName=Saxon-PE ${version}
1334
PrivilegesRequired=none
1335
Compression=lzma
1336
SolidCompression=yes
1337
SourceDir=..\..\..\${build-pen.dir}\bin
1338
OutputDir=${basedir}\${issue.dir}
1339
OutputBaseFilename=SaxonPE${versionh}N-setup
1340
AppCopyright=Copyright (c) 2010 Saxonica
1341

    
1342
[Files]
1343
; GAC Files
1344

    
1345
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1346
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1347
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1348
Source: "IKVM.OpenJDK.Security.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Security.dll, ${ikvm.strongname}"
1349
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1350
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1351
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1352
Source: "saxon9pe.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9pe.dll, ${saxon.strongname}"
1353
Source: "saxon9pe-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9pe-api.dll, ${saxon.strongname}"
1354
Source: "..\notices\APACHE-RESOLVER.txt" ; DestDir: "{app}\notices"
1355
Source: "..\notices\APACHE-XERCES.txt" ; DestDir: "{app}\notices"
1356
Source: "..\notices\CERN.txt" ; DestDir: "{app}\notices"
1357
Source: "..\notices\FRIJTERS.txt" ; DestDir: "{app}\notices"
1358
Source: "..\notices\GPL+CLASSPATH.txt" ; DestDir: "{app}\notices"
1359
Source: "..\notices\JAMESCLARK.txt" ; DestDir: "{app}\notices"
1360
Source: "..\notices\LICENSE.txt" ; DestDir: "{app}\notices"
1361
Source: "..\notices\THAI.txt" ; DestDir: "{app}\notices"
1362
Source: "..\notices\UNICODE.txt" ; DestDir: "{app}\notices"
1363

    
1364
; Program Files
1365
Source: "Query.exe"; DestDir: "{app}\bin"
1366
Source: "Transform.exe"; DestDir: "{app}\bin"
1367

    
1368
[Registry]
1369
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1370
Root: HKCU; Subkey: "Software\Saxonica\SaxonPE-N"; Flags: uninsdeletekey
1371
Root: HKCU; Subkey: "Software\Saxonica\SaxonPE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1372
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1373
Root: HKLM; Subkey: "Software\Saxonica\SaxonPE-N"; Flags: uninsdeletekey
1374
Root: HKLM; Subkey: "Software\Saxonica\SaxonPE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1375
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1376

    
1377
[UninstallDelete]
1378
Type: dirifempty; Name: "{app}";         
1379
                
1380
      </echo>
1381
      <exec executable="./Inno Setup 5/Compil32.exe">
1382
        <arg line="/cc"/>
1383
        <arg line="${temp.dir}/n/installer/pe.iss"/>
1384
      </exec>
1385
    </target>       
1386
    
1387
    <target name="installer-een" description="Create installer for Saxon-EE on .NET" depends="n">
1388
       <mkdir dir="${temp.dir}/n/installer"/> 
1389
       
1390
      <echo file="${temp.dir}/n/installer/ee.iss">
1391
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
1392
; Documentation is at http://www.jrsoftware.org/ishelp/
1393

    
1394
[Setup]
1395
AppName=Saxon-EE ${version}
1396
AppVerName=Saxon-EE ${version}
1397
DefaultDirName=c:\Program Files\Saxonica\SaxonEE${major.version}N
1398
DefaultGroupName=Saxon-PE ${version}
1399
PrivilegesRequired=none
1400
Compression=lzma
1401
SolidCompression=yes
1402
SourceDir=..\..\..\${build-een.dir}\bin
1403
OutputDir=${basedir}\${issue.dir}
1404
OutputBaseFilename=SaxonEE${versionh}N-setup
1405
AppCopyright=Copyright (c) 2010 Saxonica
1406

    
1407
[Files]
1408
; GAC Files
1409

    
1410
Source: "IKVM.Runtime.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.Runtime.dll, ${ikvm.strongname}"
1411
Source: "IKVM.OpenJDK.Core.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Core.dll, ${ikvm.strongname}"
1412
Source: "IKVM.OpenJDK.Charsets.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Charsets.dll, ${ikvm.strongname}"
1413
Source: "IKVM.OpenJDK.Security.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Security.dll, ${ikvm.strongname}"
1414
Source: "IKVM.OpenJDK.Util.dll"; DestDir: "{app}\bin" ; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Util.dll, ${ikvm.strongname}"
1415
Source: "IKVM.OpenJDK.Text.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "IKVM.OpenJDK.Text.dll, ${ikvm.strongname}"
1416
Source: "IKVM.OpenJDK.XML.API.dll"; DestDir: "{app}\bin"; Flags: gacinstall ; StrongAssemblyName: "IKVM.OpenJDK.XML.API.dll, ${ikvm.strongname}"
1417
Source: "saxon9ee.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9ee.dll, ${saxon.strongname}"
1418
Source: "saxon9ee-api.dll"; DestDir: "{app}\bin"; Flags: gacinstall; StrongAssemblyName: "saxon9ee-api.dll, ${saxon.strongname}"
1419
Source: "..\notices\APACHE-RESOLVER.txt" ; DestDir: "{app}\notices"
1420
Source: "..\notices\APACHE-XERCES.txt" ; DestDir: "{app}\notices"
1421
Source: "..\notices\ASM.txt" ; DestDir: "{app}\notices"
1422
Source: "..\notices\CERN.txt" ; DestDir: "{app}\notices"
1423
Source: "..\notices\FRIJTERS.txt" ; DestDir: "{app}\notices"
1424
Source: "..\notices\GPL+CLASSPATH.txt" ; DestDir: "{app}\notices"
1425
Source: "..\notices\JAMESCLARK.txt" ; DestDir: "{app}\notices"
1426
Source: "..\notices\LICENSE.txt" ; DestDir: "{app}\notices"
1427
Source: "..\notices\THAI.txt" ; DestDir: "{app}\notices"
1428
Source: "..\notices\UNICODE.txt" ; DestDir: "{app}\notices"
1429

    
1430
; Program Files
1431
Source: "Query.exe"; DestDir: "{app}\bin"
1432
Source: "Transform.exe"; DestDir: "{app}\bin"
1433
Source: "Validate.exe"; DestDir: "{app}\bin"
1434

    
1435
[Registry]
1436
Root: HKCU; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1437
Root: HKCU; Subkey: "Software\Saxonica\SaxonEE-N"; Flags: uninsdeletekey
1438
Root: HKCU; Subkey: "Software\Saxonica\SaxonEE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1439
Root: HKLM; Subkey: "Software\Saxonica"; Flags: uninsdeletekeyifempty
1440
Root: HKLM; Subkey: "Software\Saxonica\SaxonEE-N"; Flags: uninsdeletekey
1441
Root: HKLM; Subkey: "Software\Saxonica\SaxonEE-N\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}";
1442
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\bin"
1443

    
1444
[UninstallDelete]
1445
Type: dirifempty; Name: "{app}";          
1446
                
1447
      </echo>
1448
      <exec executable="./Inno Setup 5/Compil32.exe">
1449
        <arg line="/cc"/>
1450
        <arg line="${temp.dir}/n/installer/ee.iss"/>
1451
      </exec>
1452
    </target> 
1453
    
1454
    <target name="release-n"
1455
        depends="installer-hen, installer-pen, installer-een"/>
1456
           
1457

    
1458
    
1459

    
1460
      
1461
       
1462
    
1463
</project>
(4-4/7)