Project

Profile

Help

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

he / build-c.gradle @ eea2149f

1
// Find Excelsior Jet to build the Saxon/C releases
2
def excelsiorJetHome = null
3
["${excelsiorJet}",
4
 "/opt/jet15.3-ent-amd64",
5
 "/usr/local/jet15.3-ent-amd64",
6
 "c:/jet15.3-ent-amd64"].each { jet ->
7
  if (excelsiorJetHome == null && pathExists(jet)) {
8
    excelsiorJetHome = jet
9
  }
10
}
11

    
12
task test_jetHome(
13
  description: "Test that excelsiorJetHome is configured"
14
) {
15
  doLast {
16
    if (excelsiorJetHome == null) {
17
      throw new GradleException("Cannot build Saxon/C, excelsiorJetHome undefined")
18
    }
19
  }
20
}
21

    
22
["h", "p", "e"].each { initial ->
23
  def release = initial + "e"
24
  def Release = initial.toUpperCase() + "e"
25
  def RELEASE = release.toUpperCase()
26

    
27
  task "${release}c_copyJet"(
28
    type: Copy,
29
    dependsOn: ["${release}c_jar"],
30
    description: "Copy the JET project file for ${RELEASE}"
31
  ) {
32
    from "${projectDir}/src/jet/libsaxon${release}c.prj"
33
    into "${buildDir}/jet"
34
  }
35

    
36
  task "${release}c_setupJet"(
37
    dependsOn: ["${release}c_copyJet"],
38
    description: "Create JET libsaxon${release}c.jprof for ${RELEASE}"
39
  ) {
40
    outputs.file("${buildDir}/jet/libsaxon${release}c.jprof")
41
    doLast {
42
      new File("${buildDir}/jet/libsaxon${release}c.jprof")
43
        .withWriter("utf-8") { writer ->
44
          writer.write("")
45
        }
46
    }
47
  }
48

    
49
  task "${release}c_copyLibs"(
50
    type: Copy,
51
    description: "Copy library jar files into JET build directory"
52
  ) {
53
    into "${buildDir}/c/jars/${release}c"
54
    from "${resolverJar}"
55
    from "${mailJar}"
56
  }
57

    
58
  task "${release}c_jet"(
59
    type: Exec,
60
    dependsOn: ["${release}c_setupJet", "${release}c_copyLibs", "test_jetHome"],
61
    description: "Run JET on ${RELEASE}"
62
  ) {
63
    inputs.file("${buildDir}/jet/libsaxon${release}c.prj")
64
    inputs.file("${buildDir}/jet/libsaxon${release}c.jprof")
65
    inputs.files("${buildDir}/c/jars/${release}c")
66
    outputs.file("${buildDir}/c/${release}c/libsaxon${release}c.so")
67
    workingDir = "${buildDir}/jet"
68
    commandLine "${excelsiorJetHome}/bin/jc",
69
      "=p", "libsaxon${release}c"
70
    /*
71
    commandLine "docker", "run",
72
      "-e", "PROJECT=libsaxon${release}c",
73
      "-v", "${projectDir}:/saxonica",
74
      "${dockerBuildContainer}:latest"
75
    */
76
  }
77

    
78
  if (systemOs.isWindows()) {
79
    task "${release}c_copyAncillary"(
80
      type: Copy,
81
      description: "Copy ancillary C files into the ${RELEASE} release build directory"
82
    ) {
83
      into "${buildDir}/c/${release}c"
84

    
85
      from("${projectDir}/src/main/c") {
86
        include "Saxon.C.API/**/*"
87
        include "samples/**/*"
88
        exclude "samples/cppTests/build*"
89
        exclude "samples/cTests/build*"
90
        exclude "samples/data/config_file.xml"
91
        exclude "samples/data/package*"
92
        include "saxon-data/**/*"
93
      }
94
      from("${projectDir}/src/docs") {
95
        include "notices/JAMESCLARK.txt"
96
        include "notices/UNICODE.txt"
97
        include "notices/CERN.txt"
98
        include "notices/LICENSE.txt"
99
        include "notices/THAI.txt"
100
      }
101
      from("${projectDir}/src/main/c") {
102
        include "command/*.c"
103
        include "command/jni/**/*"
104
        include "command/build${release}c-command.sh"
105
      }
106
    }
107

    
108
    task "${release}cRelease"(
109
      type: Exec,
110
      dependsOn: ["${release}c_jet", "${release}c_copyAncillary"],
111
      description: "Make the ${RELEASE} release for Saxon/C"
112
    ) {
113
      commandLine "${excelsiorJetHome}/bin/xpack",
114
        "-backend", "excelsior-installer",
115
        "-source", "${buildDir}/c/${release}c",
116
        "-target", "${buildDir}/releases/libsaxon-${RELEASE}C"
117
    }
118
  } else if (systemOs.isMacOsX()) {
119
    task "${release}c_copyAncillary"(
120
      type: Copy,
121
      description: "Copy ancillary C files into the ${RELEASE} release build directory"
122
    ) {
123
      into "${buildDir}/c/${release}c"
124

    
125
      from("${projectDir}/src/main/c") {
126
        include "Saxon.C.API/**/*"
127
        exclude "Saxon.C.API/HEC/**"
128
        exclude "Saxon.C.API/PEC/**"
129
        exclude "Saxon.C.API/EEC/**"
130
        exclude "Saxon.C.API/Makefile"
131
        exclude "Saxon.C.API/PHP7-Build/config.m4"
132
        exclude "Saxon.C.API/Query.c"
133
        exclude "Saxon.C.API/SaxonApiException.cpp"
134
        exclude "Saxon.C.API/SaxonApiException.h"
135
        exclude "Saxon.C.API/XdmArray.h"
136
        exclude "Saxon.C.API/XdmFunctionItem.cpp"
137
        exclude "Saxon.C.API/XdmFunctionItem.h"
138
        exclude "Saxon.C.API/XsltExecutable.cpp"
139
        exclude "Saxon.C.API/XsltExecutable.h"
140
        exclude "Saxon.C.API/config.h"
141
        exclude "Saxon.C.API/config.w32"
142
        exclude "Saxon.C.API/dllmain.cpp"
143
        exclude "Saxon.C.API/readme.txt"
144
        exclude "Saxon.C.API/targetver.h"
145

    
146
        include "samples/**/*"
147
        exclude "samples/cppTests/build*"
148
        include "samples/cppTests/build64-mac.sh"
149
        exclude "samples/cppTests/build32-linux.sh"
150
        exclude "samples/cppTests/build64-linux.sh"
151
        exclude "samples/cppTests/buildCPPSaxonEE.bat"
152
        exclude "samples/cppTests/buildCPPSaxonHE.bat"
153
        exclude "samples/cppTests/buildCPPSaxonPE.bat"
154
        exclude "samples/cppTests/buildpec.sh"
155
        exclude "samples/cTests/build-linux.sh"
156
        exclude "samples/cTests/build.sh"
157
        exclude "samples/cTests/build64-linux.sh"
158
        exclude "samples/cTests/buildhec.sh"
159
        exclude "samples/cTests/buildpec.sh"
160

    
161
        exclude "samples/data/config_file.xml"
162
        exclude "samples/data/package*"
163
        include "saxon-data/**/*"
164
      }
165
      from("${projectDir}/src/docs") {
166
        include "notices/JAMESCLARK.txt"
167
        include "notices/UNICODE.txt"
168
        include "notices/CERN.txt"
169
        include "notices/LICENSE.txt"
170
        include "notices/THAI.txt"
171
      }
172
      from("${projectDir}/src/main/c") {
173
        include "command/*.c"
174
        include "command/jni/**/*"
175
        include "command/build${release}c-command.sh"
176
      }
177
    }
178

    
179
    task "${release}c_releaseSetup"(
180
      type: Exec,
181
      dependsOn: ["${release}c_jet", "${release}c_copyAncillary"],
182
      description: "Make the ${RELEASE} release package for Saxon/C"
183
    ) {
184
      commandLine "${excelsiorJetHome}/bin/xpack",
185
        "-source", "${buildDir}/c/${release}c",
186
        "-target", "${buildDir}/releases/libsaxon-${RELEASE}C"
187
    }
188

    
189
    task "${release}cRelease"(
190
      type: Zip,
191
      dependsOn: ["${release}c_releaseSetup"],
192
      description: "Make the ${RELEASE} release ZIP file for Saxon/C"
193
    ) {
194
      from("${buildDir}/releases/libsaxon-${RELEASE}C")
195
      archiveFileName = "libsaxon-${RELEASE}C-mac-setup-v${saxonCversion}.zip"
196
    }
197
  } else {
198
    task "${release}c_copyAncillary"(
199
      type: Copy,
200
      description: "Copy ancillary C files into the ${RELEASE} release build directory"
201
    ) {
202
      into "${buildDir}/c/${release}c"
203

    
204
      from("${projectDir}/src/main/c") {
205
        include "Saxon.C.API/**/*"
206
        exclude "Saxon.C.API/HEC/**"
207
        exclude "Saxon.C.API/PEC/**"
208
        exclude "Saxon.C.API/EEC/**"
209
        exclude "Saxon.C.API/Makefile"
210
        exclude "Saxon.C.API/PHP7-Build/config.m4"
211
        exclude "Saxon.C.API/Query.c"
212
        exclude "Saxon.C.API/SaxonApiException.cpp"
213
        exclude "Saxon.C.API/SaxonApiException.h"
214
        exclude "Saxon.C.API/XdmArray.h"
215
        exclude "Saxon.C.API/XdmFunctionItem.cpp"
216
        exclude "Saxon.C.API/XdmFunctionItem.h"
217
        exclude "Saxon.C.API/XsltExecutable.cpp"
218
        exclude "Saxon.C.API/XsltExecutable.h"
219
        exclude "Saxon.C.API/config.h"
220
        exclude "Saxon.C.API/config.w32"
221
        exclude "Saxon.C.API/dllmain.cpp"
222
        exclude "Saxon.C.API/readme.txt"
223
        exclude "Saxon.C.API/targetver.h"
224

    
225
        include "samples/**/*"
226
        exclude "samples/cppTests/build*"
227
        include "samples/cppTests/build64-mac.sh"
228
        exclude "samples/cppTests/build32-linux.sh"
229
        exclude "samples/cppTests/build64-linux.sh"
230
        exclude "samples/cppTests/buildCPPSaxonEE.bat"
231
        exclude "samples/cppTests/buildCPPSaxonHE.bat"
232
        exclude "samples/cppTests/buildCPPSaxonPE.bat"
233
        exclude "samples/cppTests/buildpec.sh"
234
        exclude "samples/cTests/build-linux.sh"
235
        exclude "samples/cTests/build.sh"
236
        exclude "samples/cTests/build64-linux.sh"
237
        exclude "samples/cTests/buildhec.sh"
238
        exclude "samples/cTests/buildpec.sh"
239

    
240
        exclude "samples/data/config_file.xml"
241
        exclude "samples/data/package*"
242
        include "saxon-data/**/*"
243
      }
244
      from("${projectDir}/src/docs") {
245
        include "notices/JAMESCLARK.txt"
246
        include "notices/UNICODE.txt"
247
        include "notices/CERN.txt"
248
        include "notices/LICENSE.txt"
249
        include "notices/THAI.txt"
250
      }
251
      from("${projectDir}/src/main/c") {
252
        include "command/*.c"
253
        include "command/jni/**/*"
254
        include "command/build${release}c-command.sh"
255
      }
256
    }
257

    
258
    task "${release}c_releaseSetup"(
259
      type: Exec,
260
      dependsOn: ["${release}c_jet", "${release}c_copyAncillary"],
261
      description: "Make the ${RELEASE} release package for Saxon/C"
262
    ) {
263
      commandLine "${excelsiorJetHome}/bin/xpack",
264
        "-source", "${buildDir}/c/${release}c",
265
        "-target", "${buildDir}/releases/libsaxon-${RELEASE}C"
266
    }
267

    
268
    task "${release}cRelease"(
269
      type: Zip,
270
      dependsOn: ["${release}c_releaseSetup"],
271
      description: "Make the ${RELEASE} release ZIP file for Saxon/C"
272
    ) {
273
      from ("${buildDir}/releases/libsaxon-${RELEASE}C") {
274
        include "**/*"
275
      }
276
      archiveFileName = "libsaxon-${RELEASE}C-setup64-v${saxonCversion}.zip"
277
    }
278
  }
279
}
280

    
281
task hec_setupPreprocess(
282
  type: Copy,
283
  description: "Copy HE sources for preprocessing HE"
284
) {
285
  into "${buildDir}/filtered/hec"
286
  from("${projectDir}/src/main/java") {
287
    include "net/sf/saxon/**/*.java"
288
    include "net/sf/saxon/data/**"
289
    exclude "javax/xml/xquery/*.java"
290
    exclude "**/dotnet/**"
291
    include "net/sf/saxon/**/package.html"
292
    include "net/sf/saxon/data/**"
293
    exclude "net/sf/saxon/testdriver/**"
294
    exclude "net/sf/saxon/option/axiom/**"
295
    exclude "net/sf/saxon/option/dom4j/**"
296
    exclude "net/sf/saxon/option/jdom/**"
297
    exclude "net/sf/saxon/option/jdom2/**"
298
    exclude "net/sf/saxon/option/xom/**"
299
    exclude "net/sf/saxon/option/sql/**"
300
  }
301
}
302

    
303
task pec_setupPreprocess(
304
  type: Copy,
305
  description: "Copy PE sources for preprocessing PE"
306
) {
307
  into "${buildDir}/filtered/pec"
308
  from("${projectDir}/src/main/java") {
309
    include "net/sf/saxon/**/*.java"
310
    include "javax/xml/xquery/*.java"
311
    include "net/sf/saxon/data/**"
312
    exclude "**/dotnet/**"
313
    include "net/sf/saxon/**/package.html"
314
    exclude "net/sf/saxon/testdriver/**"
315
    exclude "net/sf/saxon/option/axiom/**"
316
    exclude "net/sf/saxon/option/dom4j/**"
317
    exclude "net/sf/saxon/option/jdom/**"
318
    exclude "net/sf/saxon/option/jdom2/**"
319
    exclude "net/sf/saxon/option/xom/**"
320
    exclude "net/sf/saxon/option/sql/**"
321
    include "com/saxonica/**/*.java"
322
    exclude "com/saxonica/testdriver/**"
323
    exclude "com/saxonica/testdriver/ee/**/*.java"
324
    exclude "com/saxonica/testdriver/old/**/*.java"
325
    exclude "com/saxonica/ee/**"
326
    exclude "com/saxonica/config/EnterpriseConfiguration.java"
327
    exclude "com/saxonica/expr/CastToUnion.java"
328
    exclude "com/saxonica/expr/CastableToUnion.java"
329
    exclude "com/saxonica/expr/DotNetExtensionFunctionCall.java"
330
    exclude "com/saxonica/config/ee/**"
331
    exclude "com/saxonica/js/**"
332
    exclude "com/saxonica/config/DotNetExtensionLibrary.java"
333
    exclude "com/saxonica/config/DotNetExtensionFunctionFactory.java"
334
    exclude "com/saxonica/config/DotNetPlatformPE.java"
335
    exclude "com/saxonica/config/JavaPlatformPE.java"
336
    exclude "com/saxonica/config/JavaPlatformEE.java"
337
    exclude "com/saxonica/Validate.java"
338
    exclude "com/saxonica/config/EnterpriseTransformerFactory.java"
339
    exclude "com/saxonica/config/StreamingTransformerFactory.java"
340
    exclude "com/saxonica/config/EnterpriseXPathFactory.java"
341
    exclude "com/saxonica/config/DynamicLoaderEE.java"
342
    exclude "com/saxonica/config/StandardSchemaResolver.java"
343
    exclude "com/saxonica/jaxp/SchemaFactoryImpl11.java"
344
  }
345
}
346

    
347
task eec_setupPreprocess(
348
  type: Copy,
349
  description: "Copy EE sources for preprocessing EE"
350
) {
351
  into "${buildDir}/filtered/eec"
352
  from("${projectDir}/src/main/java") {
353
    include "net/sf/saxon/**/*.java"
354
    include "javax/xml/xquery/*.java"
355
    include "net/sf/saxon/data/**"
356
    exclude "**/dotnet/**"
357
    include "net/sf/saxon/**/package.html"
358
    exclude "net/sf/saxon/testdriver/**"
359
    exclude "net/sf/saxon/option/axiom/**"
360
    exclude "net/sf/saxon/option/dom4j/**"
361
    exclude "net/sf/saxon/option/jdom/**"
362
    exclude "net/sf/saxon/option/jdom2/**"
363
    exclude "net/sf/saxon/option/xom/**"
364
    exclude "net/sf/saxon/option/sql/**"
365
    include "com/saxonica/**/*.java"
366
    exclude "com/saxonica/testdriver/**/*.java"
367
    exclude "com/saxonica/js/**"
368
    exclude "com/saxonica/ee/bytecode/**"
369
    exclude "com/saxonica/config/DotNetExtensionFunctionFactory.java"
370
    exclude "com/saxonica/config/DotNetExtensionLibrary.java"
371
    exclude "com/saxonica/config/DotNetPlatformPE.java"
372
    exclude "com/saxonica/config/JavaPlatformPE.java"
373
    exclude "com/saxonica/config/JavaPlatformEE.java"
374
    exclude "com/saxonica/expr/DotNetExtensionFunctionCall.java"
375
    include "com/saxonica/**/package.html"
376
  }
377
}
378

    
379
task hec_preprocess(
380
  type: JavaExec,
381
  dependsOn: ["hec_setupPreprocess"],
382
  description: "Preprocess HE sources"
383
) {
384
  inputs.files fileTree(dir: "${buildDir}/filtered/hec")
385
  outputs.files fileTree(dir: "${buildDir}/preprocess/hec")
386
  classpath = configurations.preprocessor
387
  main = "com.igormaznitsa.jcp.JcpPreprocessor"
388
  args "/c",
389
    "/i:${buildDir}/filtered/hec", "/o:${buildDir}/preprocess/hec",
390
    "/p:EE=false", "/p:PE=false", "/p:DOTNET=false",
391
    "/p:SAXONC=true", "/p:BYTECODE=false", "/p:OPT=false"
392
  doFirst {
393
    mkdir "${buildDir}/preprocess/hec"
394
  }
395
}
396

    
397
task pec_preprocess(
398
  type: JavaExec,
399
  dependsOn: ["pec_setupPreprocess"],
400
  description: "Preprocess PE sources"
401
) {
402
  inputs.files fileTree(dir: "${buildDir}/filtered/pec")
403
  outputs.files fileTree(dir: "${buildDir}/preprocess/pec")
404
  classpath = configurations.preprocessor
405
  main = "com.igormaznitsa.jcp.JcpPreprocessor"
406
  args "/c",
407
    "/i:${buildDir}/filtered/pec", "/o:${buildDir}/preprocess/pec",
408
    "/p:EE=false", "/p:PE=true", "/p:DOTNET=false",
409
    "/p:SAXONC=true", "/p:BYTECODE=false", "/p:OPT=false",
410
    "/p:HOF=true"
411
  doFirst {
412
    mkdir "${buildDir}/preprocess/pec"
413
  }
414
}
415

    
416
task eec_preprocess(
417
  type: JavaExec,
418
  dependsOn: ["eec_setupPreprocess"],
419
  description: "Preprocess EE sources"
420
) {
421
  inputs.files fileTree(dir: "${buildDir}/filtered/eec")
422
  outputs.files fileTree(dir: "${buildDir}/preprocess/eec")
423
  classpath = configurations.preprocessor
424
  main = "com.igormaznitsa.jcp.JcpPreprocessor"
425
  args "/c",
426
    "/i:${buildDir}/filtered/eec", "/o:${buildDir}/preprocess/eec",
427
    "/p:EE=true", "/p:PE=false", "/p:DOTNET=false",
428
    "/p:SAXONC=true", "/p:BYTECODE=false", "/p:HOF=true",
429
    "/p:STREAM=true", "/p:SCHEMA=true", "/p:PACKAGES=true",
430
    "/p:OPT=false"
431
  doFirst {
432
    mkdir "${buildDir}/preprocess/eec"
433
  }
434
}
435

    
436
task hec_sources(
437
  type: Copy,
438
  dependsOn: ["hec_preprocess"],
439
  description: "Collect the preprocessed HE sources for compilation"
440
) {
441
  from "${buildDir}/preprocess/hec"
442
  into "${buildDir}/src/hec"
443
  filter { line ->
444
    line.contains("import com.saxonica")
445
      ? null
446
      : line
447
  }
448
}
449

    
450
task pec_sources(
451
  type: Copy,
452
  dependsOn: ["pec_preprocess"],
453
  description: "Collect the preprocessed PE sources for compilation"
454
) {
455
  from "${buildDir}/preprocess/pec"
456
  into "${buildDir}/src/pec"
457
  filter { line ->
458
    if (line.contains("import com.saxonica.ee")
459
        || line.contains("import com.saxonica.config.ee")
460
        || line.contains("net.sf.saxon.dotnet")) {
461
      null
462
    } else {
463
      line
464
    }
465
  }
466
}
467

    
468
task eec_sources(
469
  type: Copy,
470
  dependsOn: ["eec_preprocess"],
471
  description: "Collect the preprocessed EE sources for compilation"
472
) {
473
  from "${buildDir}/preprocess/eec"
474
  into "${buildDir}/src/eec"
475
  filter { line ->
476
    line.contains("import com.saxonica.ee.bytecode")
477
      ? null
478
      : line
479
  }
480
}
481

    
482
task hecCompile(
483
  type: JavaCompile,
484
  dependsOn: ["hec_sources"],
485
  description: "Compile HE for C"
486
) {
487
  classpath = configurations.compileClasspath
488
  source = "${buildDir}/src/hec"
489
  destinationDirectory = new File("${buildDir}/classes/hec")
490
}
491

    
492
task pecCompile(
493
  type: JavaCompile,
494
  dependsOn: ["pec_sources"],
495
  description: "Compile PE for C"
496
) {
497
  classpath = configurations.compileClasspath
498
  source = "${buildDir}/src/pec"
499
  destinationDirectory = new File("${buildDir}/classes/pec")
500
}
501

    
502
task eecCompile(
503
  type: JavaCompile,
504
  dependsOn: ["eec_sources"],
505
  description: "Compile EE for Saxon/C") {
506
  classpath = configurations.compileClasspath
507
  source = "${buildDir}/src/eec"
508
  destinationDirectory = new File("${buildDir}/classes/eec")
509
}
510

    
511
task hec_jar(
512
  type: Jar,
513
  dependsOn: ["hecCompile", "hej_MetaInf"],
514
  description: "Build the HE jar file for Saxon/C"
515
) {
516
  archiveBaseName = "saxon9he"
517
  destinationDirectory = file("${buildDir}/c/jars/hec")
518
  manifest {
519
    attributes "Project-Name": "Saxon-HE"
520
    attributes "Main-Class": "net.sf.saxon.Transform"
521
  }
522
  from ("build/services/saxon-he") {
523
    include "META-INF/**"
524
  }
525
  from ("build/classes/hec") {
526
    include "net/**/*.class"
527
  }
528
  from ("${buildDir}/src") {
529
    include "net/sf/saxon/data/**"
530
  }
531
  doFirst {
532
    mkdir "build/c/jars/hec"
533
  }
534
}
535

    
536
task pec_jar(
537
  type: Jar,
538
  dependsOn: ["pecCompile", "pej_MetaInf"],
539
  description: "Build the PE jar file for Saxon/C"
540
) {
541
  archiveBaseName = "saxon9pe"
542
  destinationDirectory = file("${buildDir}/c/jars/pec")
543
  manifest {
544
    attributes "Project-Name": "Saxon-PE"
545
    attributes "Main-Class": "net.sf.saxon.Transform"
546
  }
547
  from ("build/services/saxon-pe") {
548
    include "META-INF/**"
549
  }
550
  from ("build/classes/pec") {
551
    include "net/**/*.class"
552
    exclude "net/sf/saxon/ant/*.class"
553
    exclude "**/sql/**/*.class"
554
    include "com/saxonica/**/*.class"
555
    exclude "com/saxonica/ee/**/*.class"
556
    exclude "com/saxonica/expr/CastToUnion.class"
557
    exclude "com/saxonica/expr/CastableToUnion.class"
558
    exclude "com/saxonica/expr/CastToList.class"
559
    exclude "com/saxonica/expr/CastableToList.class"
560
    exclude "com/saxonica/Validate.class"
561
    exclude "com/saxonica/CompileStylesheet.class"
562
    exclude "com/saxonica/CompileStylesheet\$TracingObjectOutputStream.class"
563
    exclude "com/saxonica/config/EnterpriseConfiguration.class"
564
    exclude "com/saxonica/config/EnterpriseConfiguration\$SurrogateSchema.class"
565
    exclude "com/saxonica/config/EnterpriseTransformerFactory.class"
566
    exclude "com/saxonica/config/StreamingTransformerFactory.java"
567
    exclude "com/saxonica/config/EnterpriseXPathFactory.class"
568
    include "javax/xml/xquery/*.class"
569
  }
570
  doFirst {
571
    mkdir "build/c/pec"
572
  }
573
}
574

    
575
task eec_jar(
576
  type: Jar,
577
  dependsOn: ["eecCompile", "eej_MetaInf"],
578
  description: "Build the EE jar file for Saxon/C"
579
) {
580
  archiveBaseName = "saxon9ee"
581
  destinationDirectory = file("${buildDir}/c/jars/eec")
582
  manifest {
583
    attributes "Project-Name": "Saxon-EE"
584
    attributes "Main-Class": "net.sf.saxon.Transform"
585
  }
586
  from ("build/services/saxon-ee") {
587
    include "META-INF/**"
588
  }
589
  from ("build/classes/eec") {
590
    include "net/**/*.class"
591
    exclude "net/sf/saxon/ant/*.class"
592
    exclude "**/sql/**/*.class"
593
    include "com/saxonica/**/*.class"
594
    include "javax/xml/xquery/*.class"
595
  }
596
  doFirst {
597
    mkdir "build/c/eec"
598
  }
599
}
(4-4/12)