Skip to content

Commit ce6d580

Browse files
committed
Merge tag '4.4' into develop
DITA-OT 4.4 # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE4dwAszXsmTZ/8urXv5ed07nfjisFAml+G1YACgkQv5ed07nf # jiuIxw//eCX4UL/OFA4gekaEAiazIkYBzWMZ/AEJMOXgdfVRgMWeG/tPlfl/crkP # cA18+xQDxT1HFjNGXE0aFQUNzuOZKxa5yR4NexabyaeX9FDgL1m6Dgvh9+U25Efw # L3P3bkA9nm7V9ixNX4rr3UjZx26EjObki9pPPhPkiL9OEBzgEf2QSz+LyEht4Lom # ikwF8GWYH24h/9V5YTBZs8leaW19Vp8YI2h+x1fD0+r3ihdspSNrn+m23/z7DzKh # XdohRkqwDmMz39l0qtp/SqOT9uHgLkkt/EzL3OVtD+3BOhX/XCxC94Z91UpyoRIw # WLUugj/IP88x14tprUm0DjMvSU6sAdCnBypAGlqjgKm8vmCKWZX+8PXT1hXm8NxF # qvfUEK3uQrWWwXxlVZOASKbSRSDcjArcbbY/mxsoEAGy5ddSW2h5vjd5nfGqsxpL # 3vPMsvZm316uPvmr2gC0wV7wTTSQu4CAYXsxMzmYl2H4XXGwutw2LDj2EnED1QYl # PmKj9sC5Wfz5SNZHNd/CKwfOdfuNUbN4weAP5bpEMHhhdHzOKcXduQp1HjXnJVyA # Xms27r3QRUtA1nUrg9/++U4arCluzWR8AzQO4f541UZV3W6miTViKCeU2u8hSQvD # G7CsFKnklbF8SbE06aXFfg0XMV4fotCAcNiYuodolIZ6lTuireo= # =mf8H # -----END PGP SIGNATURE----- # gpg: Signature made Sat Jan 31 16:10:14 2026 CET # gpg: using RSA key E1DC00B335EC99367FF2EAD7BF979DD3B9DF8E2B # gpg: Good signature from "Roger Sheen <roger@infotexture.net>" [ultimate] * tag '4.4': (36 commits) Move URI dependency tracking info to enhancements Update & remove comments from build file Bump jyjeanne/dita-ot-gradle from 2.3.2 to 2.8.2 (#660) Add entries for recently resolved issues in 4.4 Combine entries for HTML5 passthrough changes Add entries for recently resolved issues in 4.4 List updated docs topics in 4.4 Remove mark highlight from release summary Bump Saxon-HE to version 12.9 Update contributors lists based on latest commits Add 4.4 migration topic & re-use DITA 2.0 info Add previous release dates to 2.0 spec support Move DITA 2.0 updates to spec support for re-use Mark publish.required.cleanup as deprecated Add missing issue link Fix keyref for 2025 new features video topic Edit 2025 video descriptions Push deprecation details to `outputFile.base` #648 Simplify and align deprecation references Mark deprecated elements in HTML output ...
2 parents c20c513 + 5d6fa52 commit ce6d580

24 files changed

Lines changed: 1251 additions & 489 deletions

build.gradle

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@ buildscript {
33
mavenCentral()
44
}
55
dependencies {
6-
classpath 'net.sf.saxon:Saxon-HE:10.6'
6+
classpath 'net.sf.saxon:Saxon-HE:12.9'
77
}
88
}
99

1010
plugins {
11-
id 'io.github.jyjeanne.dita-ot-gradle' version '2.3.2'
12-
// Removed: 'com.github.eerohele.saxon-gradle' - not Configuration Cache compatible
13-
// Replaced with: inline XsltTransformTask class below
11+
id 'io.github.jyjeanne.dita-ot-gradle' version '2.8.2'
1412
}
1513

1614
import org.gradle.api.DefaultTask
@@ -24,7 +22,7 @@ import javax.xml.transform.stream.StreamSource
2422

2523
/**
2624
* Gradle 9 compatible XSLT transformation task using Saxon-HE.
27-
* Replaces eerohele/saxon-gradle which is not Configuration Cache compatible.
25+
* Replaces eerohele/saxon-gradle, which is not configuration cache compatible.
2826
*/
2927
@CacheableTask
3028
abstract class XsltTransformTask extends DefaultTask {
@@ -77,7 +75,7 @@ abstract class XsltTransformTask extends DefaultTask {
7775
}
7876

7977
// DSL methods for backward compatibility with saxon-gradle syntax
80-
// Using layout API for Configuration Cache compatibility
78+
// Using layout API for configuration cache compatibility
8179
void input(Object path) {
8280
inputFile.set(project.layout.projectDirectory.file(path.toString()))
8381
}
@@ -109,7 +107,7 @@ String ditaHomeSrc = getPropertyOrDefault('ditaHomeSrc', ditaHome)
109107
String configDir = "${ditaHomeSrc}/config"
110108
String ditavalFile = "${projectDirPath}/platform.ditaval"
111109

112-
// Defer file existence check for Configuration Cache compatibility
110+
// Defer file existence check for configuration cache compatibility
113111
Boolean toolkitBuild = providers.provider {
114112
file("${projectDirPath}/../lib/dost.jar").exists()
115113
}.get()
@@ -159,7 +157,7 @@ task generatePlatformFilter {
159157
// Use System properties for OS detection (public API)
160158
def osName = System.getProperty('os.name').toLowerCase()
161159
def platformName = osName.contains('win') ? 'windows' :
162-
osName.contains('mac') ? 'mac' : 'unix'
160+
osName.contains('mac') ? 'mac' : 'unix'
163161

164162
// Generate the ditaval file using modern Gradle file operations
165163
outputFile.asFile.text = """<?xml version="1.0" encoding="UTF-8"?>
@@ -187,14 +185,12 @@ task autoGenerate(dependsOn: [messages, params, extensionPoints, generatePlatfor
187185
task pdf(type: DitaOtTask, dependsOn: autoGenerate) {
188186
group = 'documentation'
189187
description = 'Build PDF documentation.'
190-
// Set DITA-OT directory: pass as parameter -PditaHome or fall back to parent when run in core repo.
191188
ditaOt file(findProperty('ditaHome') ?: ditaHome)
192189
input "${projectDirPath}/userguide-book.ditamap"
193190
output outputDir
194191
transtype 'pdf'
195192
filter "${projectDirPath}/resources/pdf.ditaval"
196193

197-
// Use ditaProperties MapProperty directly for v2.3.0 compatibility
198194
ditaProperties.put('args.chapter.layout', 'BASIC')
199195
ditaProperties.put('args.gen.task.lbl', 'YES')
200196
ditaProperties.put('include.rellinks', '#default external')
@@ -205,14 +201,12 @@ task pdf(type: DitaOtTask, dependsOn: autoGenerate) {
205201
task html(type: DitaOtTask, dependsOn: autoGenerate) {
206202
group = 'documentation'
207203
description = 'Build HTML5 documentation.'
208-
// Set DITA-OT directory: pass as parameter -PditaHome or fall back to parent when run in core repo.
209204
ditaOt file(findProperty('ditaHome') ?: ditaHome)
210205
input "${projectDirPath}/userguide.ditamap"
211206
output outputDir
212207
transtype 'html5'
213208
filter "${projectDirPath}/resources/html.ditaval"
214209

215-
// Use ditaProperties MapProperty directly for v2.3.0 compatibility
216210
ditaProperties.put('args.copycss', 'yes')
217211
ditaProperties.put('args.css', 'dita-ot-doc.css')
218212
ditaProperties.put('args.csspath', 'css')
@@ -227,14 +221,12 @@ task html(type: DitaOtTask, dependsOn: autoGenerate) {
227221
task htmlhelp(type: DitaOtTask, dependsOn: autoGenerate) {
228222
group = 'documentation'
229223
description = 'Build HTML Help (.chm) documentation.'
230-
// Set DITA-OT directory: pass as parameter -PditaHome or fall back to parent when run in core repo.
231224
ditaOt file(findProperty('ditaHome') ?: ditaHome)
232225
input "${projectDirPath}/userguide.ditamap"
233226
output outputDir
234227
transtype 'htmlhelp'
235228
filter ditavalFile
236229

237-
// Use ditaProperties MapProperty directly for v2.3.0 compatibility
238230
ditaProperties.put('args.copycss', 'yes')
239231
ditaProperties.put('args.css', 'dita-ot-doc.css')
240232
ditaProperties.put('args.csspath', 'css')
@@ -256,16 +248,13 @@ task htmlhelp(type: DitaOtTask, dependsOn: autoGenerate) {
256248
}
257249
}
258250

259-
task cleanOutput {
251+
task cleanOutput(type: Delete) {
260252
group = 'build'
261253
description = 'Delete the output directory.'
262-
doLast {
263-
delete outputDir
264-
}
254+
delete file(outputDir)
265255
}
266256

267-
// Get git commit hash using Gradle 9 compatible Provider API
268-
// Uses providers.exec() instead of deprecated project.exec()
257+
// Get Git commit hash using Gradle 9 compatible Provider API
269258
def gitCommitHash = providers.exec {
270259
commandLine 'git', 'rev-parse', 'HEAD'
271260
ignoreExitValue = true
@@ -274,36 +263,29 @@ def gitCommitHash = providers.exec {
274263
task gitMetadata {
275264
group = 'build'
276265
description = 'Log git commit metadata.'
277-
// This task just logs the git commit for reference
278266
doLast {
279267
logger.lifecycle("Git commit: ${gitCommitHash}")
280268
}
281-
282-
// Mark outputs to help with up-to-date checking
283-
outputs.upToDateWhen { false } // Always run since git commit changes frequently
269+
outputs.upToDateWhen { false }
284270
}
285271

286272
task site(type: DitaOtTask) {
287273
group = 'documentation'
288274
description = 'Build website documentation.'
289275
dependsOn 'messages', 'params', 'extensionPoints', 'gitMetadata'
290276

291-
// Set DITA-OT directory: pass as parameter -PditaHome or fall back to parent when run in core repo.
292277
ditaOt file(findProperty('ditaHome') ?: ditaHome)
293278
input file("${projectDirPath}/site.ditamap")
294279
output getPropertyOrDefault('outputDir', layout.buildDirectory.dir("site").get().asFile.path)
295280
filter "${projectDirPath}/resources/site.ditaval"
296-
297281
transtype 'org.dita-ot.html'
298282

299283
// Evaluate the noCommitMeta flag at configuration time
300284
def includeCommitMeta = !providers.gradleProperty('noCommitMeta').map { Boolean.parseBoolean(it) }.getOrElse(false)
301285

302-
// Use ditaProperties MapProperty directly for v2.3.0 compatibility
303286
ditaProperties.put('args.gen.task.lbl', 'YES')
304287
ditaProperties.put('args.rellinks', 'noparent')
305288
if (includeCommitMeta) {
306-
// Use the git commit hash obtained at configuration time
307289
ditaProperties.put('commit', gitCommitHash)
308290
}
309291
}

gradle.properties

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
# Fix Java memory errors with Gradle 5.2
22
org.gradle.jvmargs = -Xmx1024m
33

4-
# Gradle 8 features for better performance and caching
5-
# ↓ Not supported by eerohele/dita-ot-gradle ↓
6-
# org.gradle.configuration-cache=true
7-
# org.gradle.configuration-cache.problems=warn
8-
# ↑ Not supported by eerohele/dita-ot-gradle ↑
4+
# Gradle 9 features for better performance and caching
5+
org.gradle.configuration-cache=true
96
org.gradle.parallel=true
107
org.gradle.caching=true

parameters/ant-parameters-details.dita

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,7 @@
223223
</pt>
224224
<pd conaction="mark" conref="parameters-base.dita#base/dita.input.valfile.desc"/>
225225
<pd conaction="pushafter">
226-
<note type="notice">This parameter is deprecated in favor of the <parmname>args.filter</parmname>
227-
parameter.</note>
226+
<note type="notice">This parameter is deprecated; use <parmname>args.filter</parmname> instead.</note>
228227
</pd>
229228
</plentry>
230229
<plentry id="filter-stage">
@@ -522,8 +521,7 @@
522521
<pd conaction="pushafter">
523522
<div id="args.hide.parent.link.details">
524523
<ph audience="xslt-customizer">Corresponds to the XSLT parameter <parmname>NOPARENTLINK</parmname>.</ph>
525-
<note type="notice">This parameter is deprecated in favor of the <parmname>args.rellinks</parmname>
526-
parameter.</note>
524+
<note type="notice">This parameter is deprecated; use <parmname>args.rellinks</parmname> instead.</note>
527525
</div></pd>
528526
</plentry>
529527
<plentry id="args.outext">
@@ -713,15 +711,21 @@
713711
<xref keyref="jelovirt-on-pdf2-i18n"/>.</note>
714712
</pd>
715713
</plentry>
716-
<plentry id="outputFile.base">
714+
<plentry id="outputFile.base" importance="deprecated">
717715
<pt>
718716
<parmname>outputFile.base</parmname>
717+
<ph>
718+
<indexterm>deprecated features
719+
<indexterm><parmname>outputFile.base</parmname></indexterm></indexterm></ph>
719720
</pt>
720721
<pd conaction="mark" conref="parameters-pdf.dita#pdf/outputFile.base.desc"/>
721722
<pd conaction="pushafter">By default, the PDF file uses the base filename of the input
722723
<filepath>.ditamap</filepath> file.
723724
<indexterm>DITA maps
724-
<indexterm>PDF file name</indexterm></indexterm></pd>
725+
<indexterm>PDF file name</indexterm></indexterm>
726+
<note type="notice">This parameter is deprecated since DITA-OT 3.0; use
727+
<parmname>args.output.base</parmname> instead.</note>
728+
</pd>
725729
</plentry>
726730
<plentry id="pdf.formatter">
727731
<pt>
@@ -738,18 +742,29 @@
738742
<indexterm>formatter</indexterm></indexterm>
739743
</pd>
740744
</plentry>
741-
<plentry id="publish.required.cleanup" importance="deprecated">
745+
<plentry
746+
id="publish.required.cleanup"
747+
importance="deprecated"
748+
conaction="pushreplace"
749+
conref="parameters-pdf.dita#pdf/publish.required.cleanup"
750+
>
751+
<!-- Replace entire plentry element to pick up deprecated status (not currently marked as such in code) -->
742752
<pt>
743753
<parmname>publish.required.cleanup</parmname>
744754
<ph>
745755
<indexterm>deprecated features
756+
<indexterm><parmname>publish.required.cleanup</parmname></indexterm></indexterm>
757+
<indexterm>parameters
746758
<indexterm><parmname>publish.required.cleanup</parmname></indexterm></indexterm></ph>
747759
</pt>
748-
<pd conaction="mark" conref="parameters-pdf.dita#pdf/publish.required.cleanup.desc"/>
749-
<pd conaction="pushafter">The default value is the value of the <parmname>args.draft</parmname> parameter.
750-
<ph audience="xslt-customizer">Corresponds to the XSLT parameter
751-
<parmname>publishRequiredCleanup</parmname>.</ph><note type="notice">This parameter is deprecated in
752-
favor of the <parmname>args.draft</parmname> parameter.</note></pd>
760+
<pd id="publish.required.cleanup.desc">Specifies whether draft-comment and required-cleanup elements are
761+
included in the output. The allowed values are <option>yes</option>, and <option>no</option>.</pd>
762+
<!-- Add context previously pushed after .desc -->
763+
<pd>The default value is the value of the <parmname>args.draft</parmname> parameter.
764+
<ph audience="xslt-customizer">Corresponds to the XSLT parameter
765+
<parmname>publishRequiredCleanup</parmname>.</ph>
766+
<note type="notice">This parameter is deprecated; use
767+
<parmname>args.draft</parmname> instead.</note></pd>
753768
</plentry>
754769
</parml>
755770
</section>

parameters/dita-command-arguments.dita

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,18 @@
376376
<xref href="#./verbose"><parmname>--verbose</parmname></xref> option (or <parmname>-v</parmname>).</note>
377377
</pd>
378378
</plentry>
379+
<plentry id="logger">
380+
<pt>
381+
<parmname>--logger</parmname>=<varname>json</varname>
382+
</pt>
383+
<pd>
384+
<p>Generate a structured log in JSON format. Each log message generates a JSON object on its own line. JSON
385+
logging disables colored output.</p>
386+
<p>If log is written to a file with <parmname
387+
>--logfile</parmname>, the log will be generated as a JSON array
388+
where each log message is a JSON object as an array item.</p>
389+
</pd>
390+
</plentry>
379391
<plentry>
380392
<pt>
381393
<parmname>--no-color</parmname>

0 commit comments

Comments
 (0)