Skip to content

Commit de4f2f6

Browse files
committedJun 11, 2021
Improve build with latest resolver and DocBook artifacts
1 parent b42b8d2 commit de4f2f6

File tree

4 files changed

+41
-119
lines changed

4 files changed

+41
-119
lines changed
 

‎build.gradle

+27-117
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ buildscript {
1111
configurations.all {
1212
resolutionStrategy {
1313
force 'xml-apis:xml-apis:1.4.01',
14-
"${saxonGroup}:${saxonEdition}:${saxonVersion}"
14+
"${saxonGroup}:${saxonEdition}:${saxonVersion}",
15+
"org.xmlresolver:xmlresolver:${xmlresolverVersion}"
1516
}
1617
}
1718

1819
dependencies {
1920
classpath group: saxonGroup, name: saxonEdition, version: saxonVersion
2021
classpath group: 'com.drewnoakes', name: 'metadata-extractor', version: metadataExtractorVersion
2122
classpath group: 'com.nwalsh', name: 'sinclude', version: sincludeVersion
23+
classpath group: 'org.docbook', name: 'schemas-docbook', version: '5.2b10-SNAPSHOT'
24+
classpath group: 'org.docbook', name: 'schemas-publishers', version: '5.2b10-SNAPSHOT'
2225
}
2326
}
2427

@@ -29,6 +32,8 @@ plugins {
2932
id "signing"
3033
//id 'com.github.eerohele.saxon-gradle' version '0.9.0-beta3'
3134
id 'com.nwalsh.saxon-gradle' version '0.9.1-beta4'
35+
id 'com.nwalsh.gradle.relaxng.validate' version '0.0.6'
36+
id 'com.nwalsh.gradle.relaxng.translate' version '0.0.6'
3237
id "de.undercouch.download" version "4.0.4"
3338
}
3439

@@ -42,6 +47,8 @@ sourceSets {
4247

4348
//import com.github.eerohele.SaxonXsltTask
4449
import com.nwalsh.SaxonXsltTask
50+
import com.nwalsh.gradle.relaxng.validate.RelaxNGValidateTask
51+
import com.nwalsh.gradle.relaxng.translate.RelaxNGTranslateTask
4552

4653
import de.undercouch.gradle.tasks.download.Download
4754

@@ -57,7 +64,8 @@ apply from: 'properties.gradle'
5764
configurations.all {
5865
resolutionStrategy {
5966
force 'xml-apis:xml-apis:1.4.01',
60-
"${saxonGroup}:${saxonEdition}:${saxonVersion}"
67+
"${saxonGroup}:${saxonEdition}:${saxonVersion}",
68+
"org.xmlresolver:xmlresolver:${xmlresolverVersion}"
6169
}
6270
}
6371

@@ -260,45 +268,6 @@ task setupXSpec(type: Download) {
260268
onlyIf { !file("${buildDir}/xspec-${xspecVersion}/README.md").exists() }
261269
}
262270

263-
task setupDocBook(type: Download) {
264-
src "${docbookBaseURI}/${docbookVersion}/docbook-${docbookVersion}.zip"
265-
dest file("${buildDir}/docbook-${docbookVersion}.zip")
266-
doFirst {
267-
mkdir(buildDir)
268-
}
269-
doLast {
270-
copy {
271-
from zipTree("${buildDir}/docbook-${docbookVersion}.zip")
272-
into buildDir
273-
}
274-
}
275-
onlyIf { !file("${buildDir}/docbook-${docbookVersion}/catalog.xml").exists() }
276-
}
277-
278-
task setup_docbook(dependsOn: "setupDocBook") {
279-
// just an alias for computed reference
280-
}
281-
282-
task setupPublishers(type: Download) {
283-
src "${docbookBaseURI}/${publishersVersion}/publishers-${publishersVersion}.zip"
284-
dest file("${buildDir}/publishers-${publishersVersion}.zip")
285-
doFirst {
286-
mkdir(buildDir)
287-
}
288-
doLast {
289-
copy {
290-
from zipTree("${buildDir}/publishers-${publishersVersion}.zip")
291-
into buildDir
292-
}
293-
}
294-
295-
onlyIf { !file("${buildDir}/publishers-${publishersVersion}/catalog.xml").exists() }
296-
}
297-
298-
task setup_publishers(dependsOn: "setupPublishers") {
299-
// just an alias for computed reference
300-
}
301-
302271
task setupXsltExplorer(type: Download) {
303272
outputs.file "${buildDir}/xsltexplorer-${xsltExplorerVersion}/xslt/explorer.xsl"
304273

@@ -317,27 +286,6 @@ task setupXsltExplorer(type: Download) {
317286
onlyIf { !file("${buildDir}/xsltexplorer-${xsltExplorerVersion}/README.org").exists() }
318287
}
319288

320-
task setup_transclusion(type: JavaExec, dependsOn: ["setup_docbook"]) {
321-
inputs.file "${projectDir}/src/test/resources/transclude.rnc"
322-
outputs.file "${buildDir}/transclude.rng"
323-
324-
doFirst {
325-
copy {
326-
into buildDir
327-
from ("${projectDir}/src/test/resources") {
328-
include "transclude.rnc"
329-
}
330-
filter { String line ->
331-
line = line.replace("@@DOCBOOK-VERSION@@", docbookVersion)
332-
}
333-
}
334-
}
335-
336-
classpath = configurations.validateRuntime
337-
main = "com.thaiopensource.relaxng.translate.Driver"
338-
args "${buildDir}/transclude.rnc", "${buildDir}/transclude.rng"
339-
}
340-
341289
task copyResources(type: Copy,
342290
dependsOn: ['copyTestMedia', 'makePrintCSS', 'zipStageResources',
343291
'zipStageMisc']) {
@@ -630,7 +578,7 @@ fileTree(dir: "${projectDir}/src/test/generators").each { xsl ->
630578

631579
Task g = task "${generator}"(type: SaxonXsltTask, dependsOn: ['makeXslt']) {
632580
input xsl
633-
stylesheet xsl.toString()
581+
stylesheet xsl
634582
output "${buildDir}/xspec/${base}.xspec"
635583
}
636584

@@ -705,55 +653,32 @@ fileTree(dir: "${projectDir}/src/test/resources/xml",
705653
stylesheetParams['olink-databases'] = dirs.join(",")
706654
}
707655

708-
def schemaPath = "docbook"
709-
def schemaVersion = docbookVersion
710-
def schema = "${schemaPath}-${schemaVersion}/rng/docbook.rng"
711-
656+
def schemaFn = "${projectDir}/src/test/resources/docbook.rng"
712657
if (base.contains("xinclude") || base == "fit.001") {
713-
schema = "${schemaPath}-${schemaVersion}/rng/docbookxi.rng"
658+
schemaFn = "${projectDir}/src/test/resources/docbookxi.rng"
714659
}
715660

716661
if (base.contains('transclusion')) {
717-
schema = "transclude.rng";
662+
schemaFn = "${projectDir}/src/test/resources/transclude.rng"
718663
stylesheetParams['docbook-transclusion'] = 'true'
719664
}
720665

721666
if (publishersDocuments.contains(base)) {
722-
schemaPath = "publishers"
723-
schemaVersion = publishersVersion
724-
schema = "${schemaPath}-${schemaVersion}/rng/publishers.rng"
667+
schemaFn = "${projectDir}/src/test/resources/publishers.rng"
725668
}
726-
669+
727670
Task t = null
728671
def htmlDependsOn = []
729672
if (base.startsWith("local.")) {
730673
// This won't pass validation...
731674
htmlDependsOn = ['makeXslt']
732675
} else {
733-
t = task "validate_${base}"() {
734-
inputs.file xml
735-
inputs.file "${buildDir}/${schema}"
736-
outputs.file "${buildDir}/validated/${base}"
737-
738-
if (base.contains("transclusion")) {
739-
dependsOn setup_transclusion
740-
}
741-
742-
doLast {
743-
javaexec {
744-
classpath = configurations.validateRuntime
745-
main = "com.thaiopensource.relaxng.util.Driver"
746-
args "-i", "${buildDir}/${schema}", xml.toString()
747-
}
748-
}
749-
750-
doLast {
751-
new File("${buildDir}/validated/${base}").withWriter("utf-8") { writer ->
752-
writer.writeLine("validated")
753-
}
754-
}
676+
t = task "validate_${base}"(type: RelaxNGValidateTask) {
677+
input xml
678+
output "${buildDir}/validated/${base}"
679+
schema schemaFn
680+
idref !invalidIdrefDocuments.contains(base)
755681
}
756-
t.dependsOn tasks.findByName("setup_${schemaPath}")
757682
validateAll.dependsOn t
758683
htmlDependsOn = ['makeXslt', "validate_${base}"]
759684
}
@@ -1433,24 +1358,10 @@ task copyGuide(type: SaxonXsltTask, dependsOn: ['xincludeGuide']) {
14331358
output "${buildDir}/guide/guide.xml"
14341359
}
14351360

1436-
task validateGuide(dependsOn: ['copyGuide', 'setupDocBook']) {
1437-
inputs.file "${buildDir}/guide/guide.xml"
1438-
outputs.file "${buildDir}/guide/validated"
1439-
1440-
doLast {
1441-
javaexec {
1442-
classpath = configurations.validateRuntime
1443-
main = "com.thaiopensource.relaxng.util.Driver"
1444-
args "-i", "${buildDir}/docbook-${docbookVersion}/rng/docbook.rng",
1445-
"${buildDir}/guide/guide.xml"
1446-
}
1447-
}
1448-
1449-
doLast {
1450-
new File("${buildDir}/guide/validated").withWriter("utf-8") { writer ->
1451-
writer.writeLine("validated")
1452-
}
1453-
}
1361+
task validateGuide(type: RelaxNGValidateTask, dependsOn: ['copyGuide']) {
1362+
input "${buildDir}/guide/guide.xml"
1363+
schema "${projectDir}/src/test/resources/docbook.rng"
1364+
output "${buildDir}/guide/validated.xml"
14541365
}
14551366

14561367
task guide(type: SaxonXsltTask, dependsOn: ['makeXslt', 'validateGuide', 'explorer']) {
@@ -1779,11 +1690,10 @@ task dbtransform(type: SaxonXsltTask, dependsOn: ['makeXslt']) {
17791690
task helloWorld() {
17801691
doLast {
17811692
println('Hello, world: ' + xslTNGversion)
1693+
/*
17821694
configurations.validateRuntime.each { path ->
17831695
println("CP: ${path}")
17841696
}
1785-
1786-
/*
17871697
configurations.projectRuntimeClasspath.each { path ->
17881698
println("R: ${path}")
17891699
}
@@ -1793,7 +1703,7 @@ task helloWorld() {
17931703
configurations.compileClasspath.each { cp ->
17941704
println("CCP: ${cp}")
17951705
}
1796-
println("${EXCP}")
17971706
*/
1707+
println("${EXCP}")
17981708
}
17991709
}

‎gradle.properties

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# See also properties.gradle
2-
32
org.gradle.jvmargs=-Xmx16384m
43
org.gradle.parallel=true
54
org.gradle.workers.max=3
65

6+
systemProp.javax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl
7+
#systemProp.xml.catalog.logging=*:warn
8+
79
verbose=false
810

911
xspecVersion=1.6.0
@@ -20,6 +22,10 @@ publishersVersion=5.2b10a4
2022
# List of test documents that are in the Publishers schema
2123
publishersDocuments = ["JFK_Inaugural", "auld_lang_syne", "hen_v", "drama.001"]
2224

25+
# List of test documents expected to have invalid idrefs
26+
invalidIdrefDocuments = ["calloutlist.003", "transclusion.001", "transclusion.002", \
27+
"transclusion.003", "transclusion.004", "xref.002"]
28+
2329
# Properties for arbitrary transformations
2430
dbsource=
2531
dboutput=

‎properties.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ext {
1313

1414
metadataExtractorVersion = '2.15.0'
1515
jingVersion = '20181222'
16-
xmlresolverVersion = '2.1.0'
16+
xmlresolverVersion = '3.0.1-SNAPSHOT'
1717
sincludeVersion = '2.0.0'
1818
slf4jVersion = '1.7.30'
1919
}

‎settings.gradle

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
rootProject.name = "xslTNG"
2+
/*
3+
pluginManagement {
4+
includeBuild "../../xml/relaxng-gradle/"
5+
}
6+
*/

0 commit comments

Comments
 (0)
Please sign in to comment.