This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 51e332808a8ce704a26e5700353e14819a8dbf37
Author: James Netherton <[email protected]>
AuthorDate: Wed Feb 25 08:20:09 2026 +0000

    Document and test FOP JDK 25 workaround
---
 docs/modules/ROOT/pages/reference/extensions/fop.adoc     | 15 +++++++++------
 extensions/fop/runtime/src/main/doc/limitations.adoc      | 13 ++++++++-----
 integration-tests/fop/pom.xml                             |  7 +++++--
 pom.xml                                                   |  1 +
 poms/bom/pom.xml                                          |  5 +++++
 poms/bom/src/main/generated/flattened-full-pom.xml        |  5 +++++
 poms/bom/src/main/generated/flattened-reduced-pom.xml     |  5 +++++
 .../src/main/generated/flattened-reduced-verbose-pom.xml  |  5 +++++
 8 files changed, 43 insertions(+), 13 deletions(-)

diff --git a/docs/modules/ROOT/pages/reference/extensions/fop.adoc 
b/docs/modules/ROOT/pages/reference/extensions/fop.adoc
index 3c2f3fe523..a668c47da8 100644
--- a/docs/modules/ROOT/pages/reference/extensions/fop.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/fop.adoc
@@ -47,16 +47,19 @@ endif::[]
 [id="extensions-fop-camel-quarkus-limitations"]
 == Camel Quarkus limitations
 
-[id="extensions-fop-limitations-supported-jdk-versions"]
-=== Supported JDK versions
+[id="extensions-fop-limitations-jdk-25"]
+=== JDK 25+
 
-Due to an https://issues.apache.org/jira/browse/FOP-3275[issue] with Apache 
FOP encountered with JDK 25, it's advised to build and run your application 
with JDK 21 or JDK 17 when using this extension.
+Due to an https://issues.apache.org/jira/browse/FOP-3275[issue] with Apache 
FOP encountered with JDK 25+, 
https://www.saxonica.com/documentation12/documentation.xml[`Saxon-HE`] is 
required to avoid reentrant XML parsing problems.
 
-When running in native mode, you'll need to ensure you build with the 
appropriate GraalVM / Mandrel version. When using containerized native image 
builds, you can override the default Quarkus builder image with the following 
configuration.
+`Saxon-HE` can be added to your application as follows.
 
-[source,properties]
+[source,xml]
 ----
-quarkus.native.builder-image=quay.io/quarkus/ubi9-quarkus-mandrel-builder-image:jdk-21
+<dependency>
+    <groupId>net.sf.saxon</groupId>
+    <artifactId>Saxon-HE</artifactId>
+</dependency>
 ----
 
 [id="extensions-fop-limitations-supported-output-types"]
diff --git a/extensions/fop/runtime/src/main/doc/limitations.adoc 
b/extensions/fop/runtime/src/main/doc/limitations.adoc
index e333a1aff6..cfdaf3e01b 100644
--- a/extensions/fop/runtime/src/main/doc/limitations.adoc
+++ b/extensions/fop/runtime/src/main/doc/limitations.adoc
@@ -1,12 +1,15 @@
-=== Supported JDK versions
+=== JDK 25+
 
-Due to an https://issues.apache.org/jira/browse/FOP-3275[issue] with Apache 
FOP encountered with JDK 25, it's advised to build and run your application 
with JDK 21 or JDK 17 when using this extension.
+Due to an https://issues.apache.org/jira/browse/FOP-3275[issue] with Apache 
FOP encountered with JDK 25+, 
https://www.saxonica.com/documentation12/documentation.xml[`Saxon-HE`] is 
required to avoid reentrant XML parsing problems.
 
-When running in native mode, you'll need to ensure you build with the 
appropriate GraalVM / Mandrel version. When using containerized native image 
builds, you can override the default Quarkus builder image with the following 
configuration.
+`Saxon-HE` can be added to your application as follows.
 
-[source,properties]
+[source,xml]
 ----
-quarkus.native.builder-image=quay.io/quarkus/ubi9-quarkus-mandrel-builder-image:jdk-21
+<dependency>
+    <groupId>net.sf.saxon</groupId>
+    <artifactId>Saxon-HE</artifactId>
+</dependency>
 ----
 
 === Supported Output Types
diff --git a/integration-tests/fop/pom.xml b/integration-tests/fop/pom.xml
index 4f4938f91f..a647493f84 100644
--- a/integration-tests/fop/pom.xml
+++ b/integration-tests/fop/pom.xml
@@ -39,6 +39,11 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
+        <!-- TODO: Remove this - 
https://github.com/apache/camel-quarkus/issues/7936 -->
+        <dependency>
+            <groupId>net.sf.saxon</groupId>
+            <artifactId>Saxon-HE</artifactId>
+        </dependency>
 
         <!-- test dependencies -->
         <dependency>
@@ -79,8 +84,6 @@
             </activation>
             <properties>
                 <quarkus.native.enabled>true</quarkus.native.enabled>
-                <!-- TODO: Remove this - 
https://github.com/apache/camel-quarkus/issues/7936 -->
-                
<quarkus.native.builder-image>quay.io/quarkus/ubi9-quarkus-mandrel-builder-image:jdk-21</quarkus.native.builder-image>
             </properties>
             <build>
                 <plugins>
diff --git a/pom.xml b/pom.xml
index 84b94cd8e3..45ef792d33 100644
--- a/pom.xml
+++ b/pom.xml
@@ -164,6 +164,7 @@
         <retrofit.version>3.0.0</retrofit.version><!-- @sync 
org.kiwiproject:consul-client:${consul-client-version} prop:retrofit.version -->
         <rhino.version>1.7.15.1</rhino.version><!-- Used by Apache FOP, to 
sync with transitive dependencies -->
         <rxjava3.version>3.1.8</rxjava3.version><!-- Used by 
amazon-kinesis-client and infinispan-client-hotrod-jakarta -->
+        <saxon.version>${saxon-version}</saxon.version>
         <smooks-bom.version>${smooks-version}</smooks-bom.version>
         <smooks.version>2.2.1</smooks.version><!-- @sync 
org.smooks:smooks-bom:${smooks-bom.version} prop:smooks.version -->
         <snakeyaml.version>2.5</snakeyaml.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} dep:org.yaml:snakeyaml -->
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index f0292bad2f..a26afc017e 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -7910,6 +7910,11 @@
                 <artifactId>json-smart</artifactId>
                 <version>${json-smart.version}</version>
             </dependency>
+            <dependency>
+                <groupId>net.sf.saxon</groupId>
+                <artifactId>Saxon-HE</artifactId>
+                <version>${saxon.version}</version>
+            </dependency>
             <dependency>
                 <groupId>org.antlr</groupId>
                 <artifactId>antlr-runtime</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml 
b/poms/bom/src/main/generated/flattened-full-pom.xml
index 3ee31b0c74..c4c56d37cc 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -7793,6 +7793,11 @@
         <artifactId>json-smart</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>2.6.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
+      <dependency>
+        <groupId>net.sf.saxon</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>Saxon-HE</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>12.9</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+      </dependency>
       <dependency>
         <groupId>org.antlr</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>antlr-runtime</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index 06d95c8a4c..96c661cff3 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -7737,6 +7737,11 @@
         <artifactId>json-smart</artifactId>
         <version>2.6.0</version>
       </dependency>
+      <dependency>
+        <groupId>net.sf.saxon</groupId>
+        <artifactId>Saxon-HE</artifactId>
+        <version>12.9</version>
+      </dependency>
       <dependency>
         <groupId>org.antlr</groupId>
         <artifactId>antlr-runtime</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index 6f24acaedf..2ea072d212 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -7737,6 +7737,11 @@
         <artifactId>json-smart</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>2.6.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
+      <dependency>
+        <groupId>net.sf.saxon</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>Saxon-HE</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>12.9</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+      </dependency>
       <dependency>
         <groupId>org.antlr</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>antlr-runtime</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->

Reply via email to