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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a6ca90cf168086f5beec8b8beae4bfe15d645b66
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Mon Dec 14 17:00:54 2020 +0100

    CAMEL-15946: Fix endpoint and component dsl to output source with valid 
javadoc that needs to be XML escaped.
---
 .../main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java    | 3 +++
 .../packaging/dsl/component/ComponentDslBuilderFactoryGenerator.java   | 3 +++
 2 files changed, 6 insertions(+)

diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
index 512806c..1c62a07 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
@@ -448,6 +448,9 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
                 // basic description
                 String baseDesc = option.getDescription();
                 if (!Strings.isEmpty(baseDesc)) {
+                    // must xml encode description as in some rare cases it 
contains & chars which is invalid javadoc
+                    baseDesc = JavadocHelper.xmlEncode(baseDesc);
+
                     if (!baseDesc.endsWith(".")) {
                         baseDesc += ".";
                     }
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslBuilderFactoryGenerator.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslBuilderFactoryGenerator.java
index 2033648..6640ba1 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslBuilderFactoryGenerator.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslBuilderFactoryGenerator.java
@@ -23,6 +23,7 @@ import javax.annotation.Generated;
 import org.apache.camel.maven.packaging.ComponentDslMojo;
 import org.apache.camel.maven.packaging.dsl.DslHelper;
 import org.apache.camel.tooling.model.ComponentModel;
+import org.apache.camel.tooling.util.JavadocHelper;
 import org.apache.camel.tooling.util.srcgen.JavaClass;
 import org.apache.camel.tooling.util.srcgen.Method;
 
@@ -111,6 +112,8 @@ public final class ComponentDslBuilderFactoryGenerator {
         if (!componentModel.getDescription().isEmpty()) {
             doc = componentModel.getDescription() + "\n\n" + doc;
         }
+        // must xml encode description as in some rare cases it contains & 
chars which is invalid javadoc
+        doc = JavadocHelper.xmlEncode(doc);
         javaClass.getJavaDoc().setText(doc);
     }
 

Reply via email to