Skip to content

Commit

Permalink
Merge pull request #112 from ndw/main
Browse files Browse the repository at this point in the history
Bug fixes, improvements, and features for 1.5.0
  • Loading branch information
ndw committed Jun 15, 2021
2 parents 5801e23 + b18f852 commit c225050
Show file tree
Hide file tree
Showing 558 changed files with 1,918 additions and 900 deletions.
191 changes: 63 additions & 128 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,27 @@ buildscript {
repositories {
mavenLocal()
mavenCentral()
maven {
url "https://dev.saxonica.com/maven"
}
maven { url "https://dev.saxonica.com/maven" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

apply from: 'properties.gradle'

configurations.all {
resolutionStrategy {
force 'xml-apis:xml-apis:1.4.01',
"${saxonGroup}:${saxonEdition}:${saxonVersion}"
"${saxonGroup}:${saxonEdition}:${saxonVersion}",
"org.xmlresolver:xmlresolver:${xmlresolverVersion}"
}
}

dependencies {
classpath group: saxonGroup, name: saxonEdition, version: saxonVersion
classpath group: 'com.drewnoakes', name: 'metadata-extractor', version: metadataExtractorVersion
classpath group: 'com.nwalsh', name: 'sinclude', version: sincludeVersion
classpath group: 'org.xmlresolver', name: 'xmlresolver', version: xmlresolverVersion
classpath group: 'org.docbook', name: 'schemas-docbook', version: docbookSchemaVersion
classpath group: 'org.docbook', name: 'schemas-publishers', version: docbookSchemaVersion
}
}

Expand All @@ -29,7 +32,9 @@ plugins {
id "maven-publish"
id "signing"
//id 'com.github.eerohele.saxon-gradle' version '0.9.0-beta3'
id 'com.nwalsh.saxon-gradle' version '0.9.1-beta3'
id 'com.nwalsh.saxon-gradle' version '0.9.1-beta4'
id 'com.nwalsh.gradle.relaxng.validate' version '0.0.6'
id 'com.nwalsh.gradle.relaxng.translate' version '0.0.6'
id "de.undercouch.download" version "4.0.4"
}

Expand All @@ -43,23 +48,25 @@ sourceSets {

//import com.github.eerohele.SaxonXsltTask
import com.nwalsh.SaxonXsltTask
import com.nwalsh.gradle.relaxng.validate.RelaxNGValidateTask
import com.nwalsh.gradle.relaxng.translate.RelaxNGTranslateTask

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

repositories {
mavenLocal()
mavenCentral()
maven {
url "https://dev.saxonica.com/maven"
}
maven { url "https://dev.saxonica.com/maven" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

apply from: 'properties.gradle'

configurations.all {
resolutionStrategy {
force 'xml-apis:xml-apis:1.4.01',
"${saxonGroup}:${saxonEdition}:${saxonVersion}"
"${saxonGroup}:${saxonEdition}:${saxonVersion}",
"org.xmlresolver:xmlresolver:${xmlresolverVersion}"
}
}

Expand All @@ -81,7 +88,9 @@ dependencies {
files("${projectDir}/buildSrc/build/classes/java/main")
)
testImplementation (
[group: 'junit', name: 'junit', version: '4.13']
[group: 'junit', name: 'junit', version: '4.13'],
[group: 'org.docbook', name: 'schemas-docbook', version: docbookSchemaVersion],
[group: 'org.docbook', name: 'schemas-publishers', version: docbookSchemaVersion]
)
}

Expand All @@ -104,6 +113,10 @@ saxon.configure("docbook") {
initializer 'org.docbook.xsltng.extensions.Register'
}

relaxng_validate.configure {
classpath configurations.validateRuntime
}

// If this is running on the CI infrastructure and it's not
// a tagged build, add -SNAPSHOT to the version.
if (System.getenv()["CIRCLECI"] == "true"
Expand Down Expand Up @@ -260,45 +273,6 @@ task setupXSpec(type: Download) {
onlyIf { !file("${buildDir}/xspec-${xspecVersion}/README.md").exists() }
}

task setupDocBook(type: Download) {
src "${docbookBaseURI}/${docbookVersion}/docbook-${docbookVersion}.zip"
dest file("${buildDir}/docbook-${docbookVersion}.zip")
doFirst {
mkdir(buildDir)
}
doLast {
copy {
from zipTree("${buildDir}/docbook-${docbookVersion}.zip")
into buildDir
}
}
onlyIf { !file("${buildDir}/docbook-${docbookVersion}/catalog.xml").exists() }
}

task setup_docbook(dependsOn: "setupDocBook") {
// just an alias for computed reference
}

task setupPublishers(type: Download) {
src "${docbookBaseURI}/${publishersVersion}/publishers-${publishersVersion}.zip"
dest file("${buildDir}/publishers-${publishersVersion}.zip")
doFirst {
mkdir(buildDir)
}
doLast {
copy {
from zipTree("${buildDir}/publishers-${publishersVersion}.zip")
into buildDir
}
}

onlyIf { !file("${buildDir}/publishers-${publishersVersion}/catalog.xml").exists() }
}

task setup_publishers(dependsOn: "setupPublishers") {
// just an alias for computed reference
}

task setupXsltExplorer(type: Download) {
outputs.file "${buildDir}/xsltexplorer-${xsltExplorerVersion}/xslt/explorer.xsl"

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

task setup_transclusion(type: JavaExec, dependsOn: ["setup_docbook"]) {
inputs.file "${projectDir}/src/test/resources/transclude.rnc"
outputs.file "${buildDir}/transclude.rng"

doFirst {
copy {
into buildDir
from ("${projectDir}/src/test/resources") {
include "transclude.rnc"
}
filter { String line ->
line = line.replace("@@DOCBOOK-VERSION@@", docbookVersion)
}
}
}

classpath = configurations.validateRuntime
main = "com.thaiopensource.relaxng.translate.Driver"
args "${buildDir}/transclude.rnc", "${buildDir}/transclude.rng"
}

task copyResources(type: Copy,
dependsOn: ['copyTestMedia', 'makePrintCSS', 'zipStageResources',
'zipStageMisc']) {
Expand Down Expand Up @@ -630,7 +583,7 @@ fileTree(dir: "${projectDir}/src/test/generators").each { xsl ->

Task g = task "${generator}"(type: SaxonXsltTask, dependsOn: ['makeXslt']) {
input xsl
stylesheet xsl.toString()
stylesheet xsl
output "${buildDir}/xspec/${base}.xspec"
}

Expand Down Expand Up @@ -693,9 +646,13 @@ fileTree(dir: "${projectDir}/src/test/resources/xml",
stylesheetParams['persistent-toc'] = true
}

if (base.startsWith('ptoc.')) {
stylesheetParams['persistent-toc'] = true
}

if (base.startsWith('local.')) {
stylesheetParams['local-conventions'] = "${projectDir}/src/test/resources/local.xsl"
stylesheetParams['relax-ng-grammar'] = "${projectDir}/build/docbook-${docbookVersion}/rng/docbook.rng"
stylesheetParams['relax-ng-grammar'] = "${projectDir}/src/test/resources/docbook.rng"
}

if (base.startsWith("olink.")) {
Expand All @@ -705,55 +662,32 @@ fileTree(dir: "${projectDir}/src/test/resources/xml",
stylesheetParams['olink-databases'] = dirs.join(",")
}

def schemaPath = "docbook"
def schemaVersion = docbookVersion
def schema = "${schemaPath}-${schemaVersion}/rng/docbook.rng"

def schemaFn = "${projectDir}/src/test/resources/docbook.rng"
if (base.contains("xinclude") || base == "fit.001") {
schema = "${schemaPath}-${schemaVersion}/rng/docbookxi.rng"
schemaFn = "${projectDir}/src/test/resources/docbookxi.rng"
}

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

if (publishersDocuments.contains(base)) {
schemaPath = "publishers"
schemaVersion = publishersVersion
schema = "${schemaPath}-${schemaVersion}/rng/publishers.rng"
schemaFn = "${projectDir}/src/test/resources/publishers.rng"
}

Task t = null
def htmlDependsOn = []
if (base.startsWith("local.")) {
// This won't pass validation...
htmlDependsOn = ['makeXslt']
} else {
t = task "validate_${base}"() {
inputs.file xml
inputs.file "${buildDir}/${schema}"
outputs.file "${buildDir}/validated/${base}"

if (base.contains("transclusion")) {
dependsOn setup_transclusion
}

doLast {
javaexec {
classpath = configurations.validateRuntime
main = "com.thaiopensource.relaxng.util.Driver"
args "-i", "${buildDir}/${schema}", xml.toString()
}
}

doLast {
new File("${buildDir}/validated/${base}").withWriter("utf-8") { writer ->
writer.writeLine("validated")
}
}
t = task "validate_${base}"(type: RelaxNGValidateTask) {
input xml
output "${buildDir}/validated/${base}"
schema schemaFn
idref !invalidIdrefDocuments.contains(base)
}
t.dependsOn tasks.findByName("setup_${schemaPath}")
validateAll.dependsOn t
htmlDependsOn = ['makeXslt', "validate_${base}"]
}
Expand Down Expand Up @@ -840,6 +774,10 @@ fileTree(dir: "${projectDir}/src/test/resources/xml",
stylesheetParams['persistent-toc'] = true
}

if (base.startsWith('ptoc.')) {
stylesheetParams['persistent-toc'] = true
}

t = task "${base}.chunk"(type: SaxonXsltTask,
dependsOn: ['makeXslt', "validate_${base}"]) {
inputs.files fileTree(dir: "${projectDir}/src/main/xslt")
Expand All @@ -854,11 +792,13 @@ fileTree(dir: "${projectDir}/src/test/resources/xml",
stylesheetParams['chunk-output-base-uri'] = "${buildDir}/actual/"
stylesheetParams['dynamic-profiles'] = true

//println("Task ${base}.chunk: ${stylesheetParams}")

input xml
stylesheet "${buildDir}/xslt/docbook.xsl"
parameters(stylesheetParams)

//doFirst {
// println("Task ${base}.chunk: ${stylesheetParams}")
//}
}

stylesheetParams = [:]
Expand Down Expand Up @@ -1433,24 +1373,10 @@ task copyGuide(type: SaxonXsltTask, dependsOn: ['xincludeGuide']) {
output "${buildDir}/guide/guide.xml"
}

task validateGuide(dependsOn: ['copyGuide', 'setupDocBook']) {
inputs.file "${buildDir}/guide/guide.xml"
outputs.file "${buildDir}/guide/validated"

doLast {
javaexec {
classpath = configurations.validateRuntime
main = "com.thaiopensource.relaxng.util.Driver"
args "-i", "${buildDir}/docbook-${docbookVersion}/rng/docbook.rng",
"${buildDir}/guide/guide.xml"
}
}

doLast {
new File("${buildDir}/guide/validated").withWriter("utf-8") { writer ->
writer.writeLine("validated")
}
}
task validateGuide(type: RelaxNGValidateTask, dependsOn: ['copyGuide']) {
input "${buildDir}/guide/guide.xml"
schema "${projectDir}/src/test/resources/docbook.rng"
output "${buildDir}/guide/validated.xml"
}

task guide(type: SaxonXsltTask, dependsOn: ['makeXslt', 'validateGuide', 'explorer']) {
Expand Down Expand Up @@ -1624,6 +1550,14 @@ task jarStageCatalog(type: SaxonXsltTask, dependsOn: ['makeUriList']) {
'version': xslTNGversion,
'jarloc': 'classpath:org/docbook/xsltng/'
)
doLast {
copy {
into "${buildDir}/resources/main/org/xmlresolver"
from ("${buildDir}/resources/main/org/docbook/xsltng") {
include "catalog.xml"
}
}
}
}

task stageJar(
Expand Down Expand Up @@ -1733,7 +1667,9 @@ publishing {

repositories {
maven {
url = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
url = xslTNGversion.contains("SNAPSHOT") ?
"https://oss.sonatype.org/content/repositories/snapshots/" :
"https://oss.sonatype.org/service/local/staging/deploy/maven2/"
credentials {
username = findProperty("sonatypeUsername") ?: ""
password = findProperty("sonatypePassword") ?: ""
Expand Down Expand Up @@ -1779,11 +1715,10 @@ task dbtransform(type: SaxonXsltTask, dependsOn: ['makeXslt']) {
task helloWorld() {
doLast {
println('Hello, world: ' + xslTNGversion)
/*
configurations.validateRuntime.each { path ->
println("CP: ${path}")
}

/*
configurations.projectRuntimeClasspath.each { path ->
println("R: ${path}")
}
Expand Down
12 changes: 12 additions & 0 deletions buildSrc/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,29 @@ plugins {
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

apply from: "${rootDir.parentFile}/properties.gradle"

configurations.all {
resolutionStrategy {
force 'xml-apis:xml-apis:1.4.01',
"${saxonGroup}:${saxonEdition}:${saxonVersion}",
"org.xmlresolver:xmlresolver:${xmlresolverVersion}"
}
}

dependencies {
implementation (
[group: saxonGroup, name: saxonEdition, version: saxonVersion],
[group: 'com.drewnoakes', name: 'metadata-extractor',
version: metadataExtractorVersion],
[group: 'org.xmlresolver', name: 'xmlresolver', version: xmlresolverVersion],
[group: 'org.relaxng', name: 'jing', version: jingVersion ],
[group: 'com.nwalsh', name: 'sinclude', version: sincludeVersion ],
[group: 'org.docbook', name: 'schemas-docbook', version: docbookSchemaVersion],
[group: 'org.docbook', name: 'schemas-publishers', version: docbookSchemaVersion]
)
}

Expand Down

0 comments on commit c225050

Please sign in to comment.