camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From davscl...@apache.org
Subject [3/6] camel git commit: CAMEL-11168: Add deprecationNote to @Metadata
Date Thu, 20 Jul 2017 14:49:00 GMT
CAMEL-11168: Add deprecationNote to @Metadata


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7dde22d3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7dde22d3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7dde22d3

Branch: refs/heads/master
Commit: 7dde22d34b879fa4b03eb3c0bcc6e5e4e0ba7c94
Parents: e68111e
Author: Claus Ibsen <davsclaus@apache.org>
Authored: Thu Jul 20 15:16:30 2017 +0200
Committer: Claus Ibsen <davsclaus@apache.org>
Committed: Thu Jul 20 16:48:21 2017 +0200

----------------------------------------------------------------------
 .../tools/apt/CoreEipAnnotationProcessor.java   | 143 ++++++++++++++-----
 .../tools/apt/EndpointAnnotationProcessor.java  |  15 +-
 .../camel/tools/apt/model/ComponentModel.java   |   9 ++
 .../camel/tools/apt/model/ComponentOption.java  |  12 +-
 .../camel/tools/apt/model/EndpointOption.java   |  11 +-
 .../camel/tools/apt/model/EndpointPath.java     |   8 +-
 .../tools/apt/EndpointOptionComparatorTest.java |  12 +-
 .../maven/packaging/PackageDataFormatMojo.java  |  12 ++
 .../maven/packaging/PackageLanguageMojo.java    |  12 ++
 .../camel/maven/packaging/PackageOtherMojo.java |   9 ++
 .../maven/packaging/PrepareReadmeMojo.java      |   5 +
 .../maven/packaging/PrepareUserGuideMojo.java   |   4 +
 .../SpringBootAutoConfigurationMojo.java        |   9 ++
 .../camel/maven/packaging/UpdateReadmeMojo.java |   9 ++
 .../maven/packaging/model/ComponentModel.java   |   9 ++
 .../packaging/model/ComponentOptionModel.java   |   9 ++
 .../maven/packaging/model/DataFormatModel.java  |   9 ++
 .../packaging/model/DataFormatOptionModel.java  |   9 ++
 .../camel/maven/packaging/model/EipModel.java   |   9 ++
 .../maven/packaging/model/EipOptionModel.java   |   9 ++
 .../packaging/model/EndpointOptionModel.java    |   9 ++
 .../maven/packaging/model/LanguageModel.java    |   9 ++
 .../packaging/model/LanguageOptionModel.java    |   9 ++
 .../camel/maven/packaging/model/OtherModel.java |   9 ++
 .../maven/packaging/model/OtherOptionModel.java |   9 ++
 .../java/org/apache/camel/spi/Metadata.java     |   5 +
 26 files changed, 329 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessor.java
index 2a0b720..857b95c 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessor.java
@@ -174,6 +174,9 @@ public class CoreEipAnnotationProcessor {
         buffer.append("\n    \"javaType\": \"").append(eipModel.getJavaType()).append("\",");
         buffer.append("\n    \"label\": \"").append(safeNull(eipModel.getLabel())).append("\",");
         buffer.append("\n    \"deprecated\": ").append(eipModel.isDeprecated()).append(",");
+        if (eipModel.getDeprecationNode() != null) {
+            buffer.append("\n    \"deprecationNote\": \"").append(safeNull(eipModel.getDeprecationNode())).append("\",");
+        }
         buffer.append("\n    \"input\": ").append(eipModel.getInput()).append(",");
         buffer.append("\n    \"output\": ").append(eipModel.getOutput());
         buffer.append("\n  },");
@@ -376,13 +379,17 @@ public class CoreEipAnnotationProcessor {
             }
         }
 
-        boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
         String displayName = null;
         if (metadata != null) {
             displayName = metadata.displayName();
         }
+        boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+        String deprecationNote = null;
+        if (metadata != null) {
+            deprecationNote = metadata.deprecationNode();
+        }
 
-        EipOption ep = new EipOption(name, displayName, "attribute", fieldTypeName, required, defaultValue, docComment, deprecated, isEnum, enums, false, null, false);
+        EipOption ep = new EipOption(name, displayName, "attribute", fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, isEnum, enums, false, null, false);
         eipOptions.add(ep);
 
         return false;
@@ -413,14 +420,18 @@ public class CoreEipAnnotationProcessor {
         // metadata may overrule element required
         required = findRequired(fieldElement, required);
 
-        boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
         String displayName = null;
         Metadata metadata = fieldElement.getAnnotation(Metadata.class);
         if (metadata != null) {
             displayName = metadata.displayName();
         }
+        boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+        String deprecationNote = null;
+        if (metadata != null) {
+            deprecationNote = metadata.deprecationNode();
+        }
 
-        EipOption ep = new EipOption(name, displayName, "value", fieldTypeName, required, defaultValue, docComment, deprecated, false, null, false, null, false);
+        EipOption ep = new EipOption(name, displayName, "value", fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, false, null, false, null, false);
         eipOptions.add(ep);
     }
 
@@ -512,13 +523,17 @@ public class CoreEipAnnotationProcessor {
                 oneOfTypes.add("otherwise");
             }
 
-            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String displayName = null;
             if (metadata != null) {
                 displayName = metadata.displayName();
             }
+            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+            String deprecationNote = null;
+            if (metadata != null) {
+                deprecationNote = metadata.deprecationNode();
+            }
 
-            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, required, defaultValue, docComment, deprecated, isEnum, enums, isOneOf, oneOfTypes, asPredicate);
+            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, isEnum, enums, isOneOf, oneOfTypes, asPredicate);
             eipOptions.add(ep);
         }
     }
@@ -555,8 +570,13 @@ public class CoreEipAnnotationProcessor {
             if (metadata != null) {
                 displayName = metadata.displayName();
             }
+            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+            String deprecationNote = null;
+            if (metadata != null) {
+                deprecationNote = metadata.deprecationNode();
+            }
 
-            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, required, defaultValue, docComment, false, false, null, true, oneOfTypes, false);
+            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, false,null, true, oneOfTypes, false);
             eipOptions.add(ep);
         }
     }
@@ -568,57 +588,68 @@ public class CoreEipAnnotationProcessor {
 
         // group
         String docComment = findJavaDoc(elementUtils, null, "group", null, classElement, true);
-        EipOption ep = new EipOption("group", "Group", "attribute", "java.lang.String", false, "", docComment, false, false, null, false, null, false);
+        EipOption ep = new EipOption("group", "Group", "attribute", "java.lang.String", false, "", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // group
         docComment = findJavaDoc(elementUtils, null, "streamCache", null, classElement, true);
-        ep = new EipOption("streamCache", "Stream Cache", "attribute", "java.lang.String", false, "", docComment, false, false, null, false, null, false);
+        ep = new EipOption("streamCache", "Stream Cache", "attribute", "java.lang.String", false, "", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // trace
         docComment = findJavaDoc(elementUtils, null, "trace", null, classElement, true);
-        ep = new EipOption("trace", "Trace", "attribute", "java.lang.String", false, "", docComment, false, false, null, false, null, false);
+        ep = new EipOption("trace", "Trace", "attribute", "java.lang.String", false, "", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // message history
         docComment = findJavaDoc(elementUtils, null, "messageHistory", null, classElement, true);
-        ep = new EipOption("messageHistory", "Message History", "attribute", "java.lang.String", false, "true", docComment, false, false, null, false, null, false);
+        ep = new EipOption("messageHistory", "Message History", "attribute", "java.lang.String", false, "true", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // log mask
         docComment = findJavaDoc(elementUtils, null, "logMask", null, classElement, true);
-        ep = new EipOption("logMask", "Log Mask", "attribute", "java.lang.String", false, "false", docComment, false, false, null, false, null, false);
+        ep = new EipOption("logMask", "Log Mask", "attribute", "java.lang.String", false, "false", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // trace
         docComment = findJavaDoc(elementUtils, null, "handleFault", null, classElement, true);
-        ep = new EipOption("handleFault", "Handle Fault", "attribute", "java.lang.String", false, "", docComment, false, false, null, false, null, false);
+        ep = new EipOption("handleFault", "Handle Fault", "attribute", "java.lang.String", false, "", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // delayer
         docComment = findJavaDoc(elementUtils, null, "delayer", null, classElement, true);
-        ep = new EipOption("delayer", "Delayer", "attribute", "java.lang.String", false, "", docComment, false, false, null, false, null, false);
+        ep = new EipOption("delayer", "Delayer", "attribute", "java.lang.String", false, "", docComment, false,
+            null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // autoStartup
         docComment = findJavaDoc(elementUtils, null, "autoStartup", null, classElement, true);
-        ep = new EipOption("autoStartup", "Auto Startup", "attribute", "java.lang.String", false, "true", docComment, false, false, null, false, null, false);
+        ep = new EipOption("autoStartup", "Auto Startup", "attribute", "java.lang.String", false, "true", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // startupOrder
         docComment = findJavaDoc(elementUtils, null, "startupOrder", null, classElement, true);
-        ep = new EipOption("startupOrder", "Startup Order", "attribute", "java.lang.Integer", false, "", docComment, false, false, null, false, null, false);
+        ep = new EipOption("startupOrder", "Startup Order", "attribute", "java.lang.Integer", false, "", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // errorHandlerRef
         docComment = findJavaDoc(elementUtils, null, "errorHandlerRef", null, classElement, true);
-        ep = new EipOption("errorHandlerRef", "Error Handler", "attribute", "java.lang.String", false, "", docComment, false, false, null, false, null, false);
+        ep = new EipOption("errorHandlerRef", "Error Handler", "attribute", "java.lang.String", false, "", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // routePolicyRef
         docComment = findJavaDoc(elementUtils, null, "routePolicyRef", null, classElement, true);
-        ep = new EipOption("routePolicyRef", "Route Policy", "attribute", "java.lang.String", false, "", docComment, false, false, null, false, null, false);
+        ep = new EipOption("routePolicyRef", "Route Policy", "attribute", "java.lang.String", false, "", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // shutdownRoute
@@ -626,7 +657,8 @@ public class CoreEipAnnotationProcessor {
         enums.add("Default");
         enums.add("Defer");
         docComment = findJavaDoc(elementUtils, null, "shutdownRoute", "Default", classElement, true);
-        ep = new EipOption("shutdownRoute", "Shutdown Route", "attribute", "org.apache.camel.ShutdownRoute", false, "", docComment, false, true, enums, false, null, false);
+        ep = new EipOption("shutdownRoute", "Shutdown Route", "attribute", "org.apache.camel.ShutdownRoute", false, "", docComment,
+            false, null, true, enums, false, null, false);
         eipOptions.add(ep);
 
         // shutdownRunningTask
@@ -634,14 +666,16 @@ public class CoreEipAnnotationProcessor {
         enums.add("CompleteCurrentTaskOnly");
         enums.add("CompleteAllTasks");
         docComment = findJavaDoc(elementUtils, null, "shutdownRunningTask", "CompleteCurrentTaskOnly", classElement, true);
-        ep = new EipOption("shutdownRunningTask", "Shutdown Running Task", "attribute", "org.apache.camel.ShutdownRunningTask", false, "", docComment, false, true, enums, false, null, false);
+        ep = new EipOption("shutdownRunningTask", "Shutdown Running Task", "attribute", "org.apache.camel.ShutdownRunningTask", false, "", docComment,
+            false, null, true, enums, false, null, false);
         eipOptions.add(ep);
 
         // inputs
         Set<String> oneOfTypes = new TreeSet<String>();
         oneOfTypes.add("from");
         docComment = findJavaDoc(elementUtils, null, "inputs", null, classElement, true);
-        ep = new EipOption("inputs", "Inputs", "element", "java.util.List<org.apache.camel.model.FromDefinition>", true, "", docComment, false, false, null, true, oneOfTypes, false);
+        ep = new EipOption("inputs", "Inputs", "element", "java.util.List<org.apache.camel.model.FromDefinition>", true, "", docComment,
+            false, null, false, null, true, oneOfTypes, false);
         eipOptions.add(ep);
 
         // outputs
@@ -664,7 +698,8 @@ public class CoreEipAnnotationProcessor {
         oneOfTypes.remove("route");
 
         docComment = findJavaDoc(elementUtils, null, "outputs", null, classElement, true);
-        ep = new EipOption("outputs", "Outputs", "element", "java.util.List<org.apache.camel.model.ProcessorDefinition<?>>", true, "", docComment, false, false, null, true, oneOfTypes, false);
+        ep = new EipOption("outputs", "Outputs", "element", "java.util.List<org.apache.camel.model.ProcessorDefinition<?>>", true, "", docComment,
+            false, null, false, null, true, oneOfTypes, false);
         eipOptions.add(ep);
     }
 
@@ -678,19 +713,22 @@ public class CoreEipAnnotationProcessor {
 
         // id
         String docComment = findJavaDoc(elementUtils, null, "id", null, classElement, true);
-        EipOption ep = new EipOption("id", "Id", "attribute", "java.lang.String", false, "", docComment, false, false, null, false, null, false);
+        EipOption ep = new EipOption("id", "Id", "attribute", "java.lang.String", false, "", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // description
         docComment = findJavaDoc(elementUtils, null, "description", null, classElement, true);
-        ep = new EipOption("description", "Description", "element", "org.apache.camel.model.DescriptionDefinition", false, "", docComment, false, false, null, false, null, false);
+        ep = new EipOption("description", "Description", "element", "org.apache.camel.model.DescriptionDefinition", false, "", docComment,
+            false, null, false, null, false, null, false);
         eipOptions.add(ep);
 
         // lets skip custom id as it has no value for end users to configure
         if (!skipUnwanted) {
             // custom id
             docComment = findJavaDoc(elementUtils, null, "customId", null, classElement, true);
-            ep = new EipOption("customId", "Custom Id", "attribute", "java.lang.String", false, "", docComment, false, false, null, false, null, false);
+            ep = new EipOption("customId", "Custom Id", "attribute", "java.lang.String", false, "", docComment,
+                false, null, false, null, false, null, false);
             eipOptions.add(ep);
         }
     }
@@ -708,7 +746,8 @@ public class CoreEipAnnotationProcessor {
             Set<String> oneOfTypes = new TreeSet<String>();
             oneOfTypes.add("route");
 
-            EipOption ep = new EipOption("routes", "Routes", "element", fieldTypeName, false, "", "Contains the Camel routes", false, false, null, true, oneOfTypes, false);
+            EipOption ep = new EipOption("routes", "Routes", "element", fieldTypeName, false, "", "Contains the Camel routes",
+                false, null, false, null, true, oneOfTypes, false);
             eipOptions.add(ep);
         }
     }
@@ -726,7 +765,8 @@ public class CoreEipAnnotationProcessor {
             Set<String> oneOfTypes = new TreeSet<String>();
             oneOfTypes.add("rest");
 
-            EipOption ep = new EipOption("rests", "Rests", "element", fieldTypeName, false, "", "Contains the rest services defined using the rest-dsl", false, false, null, true, oneOfTypes, false);
+            EipOption ep = new EipOption("rests", "Rests", "element", fieldTypeName, false, "", "Contains the rest services defined using the rest-dsl",
+                false, null, false, null, true, oneOfTypes, false);
             eipOptions.add(ep);
         }
     }
@@ -768,8 +808,13 @@ public class CoreEipAnnotationProcessor {
             if (metadata != null) {
                 displayName = metadata.displayName();
             }
+            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+            String deprecationNote = null;
+            if (metadata != null) {
+                deprecationNote = metadata.deprecationNode();
+            }
 
-            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, true, "", "", false, false, null, true, oneOfTypes, false);
+            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, true, "", "", deprecated, deprecationNote,false, null, true, oneOfTypes, false);
             eipOptions.add(ep);
         }
     }
@@ -815,8 +860,13 @@ public class CoreEipAnnotationProcessor {
             if (metadata != null) {
                 displayName = metadata.displayName();
             }
+            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+            String deprecationNote = null;
+            if (metadata != null) {
+                deprecationNote = metadata.deprecationNode();
+            }
 
-            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, true, "", docComment, false, false, null, true, oneOfTypes, false);
+            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, true, "", docComment, deprecated, deprecationNote, false, null, true, oneOfTypes, false);
             eipOptions.add(ep);
         }
     }
@@ -868,14 +918,18 @@ public class CoreEipAnnotationProcessor {
                 }
             }
 
-            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String displayName = null;
             Metadata metadata = fieldElement.getAnnotation(Metadata.class);
             if (metadata != null) {
                 displayName = metadata.displayName();
             }
+            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+            String deprecationNote = null;
+            if (metadata != null) {
+                deprecationNote = metadata.deprecationNode();
+            }
 
-            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, true, "", docComment, deprecated, false, null, true, oneOfTypes, asPredicate);
+            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, true, "", docComment, deprecated, deprecationNote, false, null, true, oneOfTypes, asPredicate);
             eipOptions.add(ep);
         }
     }
@@ -899,7 +953,6 @@ public class CoreEipAnnotationProcessor {
 
             // find javadoc from original class as it will override the setExpression method where we can provide the javadoc for the given EIP
             String docComment = findJavaDoc(elementUtils, fieldElement, fieldName, name, originalClassType, true);
-            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
 
             // indicate that this element is one of when
             Set<String> oneOfTypes = new HashSet<String>();
@@ -913,8 +966,13 @@ public class CoreEipAnnotationProcessor {
             if (metadata != null) {
                 displayName = metadata.displayName();
             }
+            boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+            String deprecationNote = null;
+            if (metadata != null) {
+                deprecationNote = metadata.deprecationNode();
+            }
 
-            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, false, "", docComment, deprecated, false, null, true, oneOfTypes, asPredicate);
+            EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, false, "", docComment, deprecated, deprecationNote, false, null, true, oneOfTypes, asPredicate);
             eipOptions.add(ep);
         }
     }
@@ -1011,6 +1069,7 @@ public class CoreEipAnnotationProcessor {
         private String label;
         private String description;
         private boolean deprecated;
+        private String deprecationNode;
         private boolean input;
         private boolean output;
         private String firstVersion;
@@ -1063,6 +1122,14 @@ public class CoreEipAnnotationProcessor {
             this.deprecated = deprecated;
         }
 
+        public String getDeprecationNode() {
+            return deprecationNode;
+        }
+
+        public void setDeprecationNode(String deprecationNode) {
+            this.deprecationNode = deprecationNode;
+        }
+
         public boolean isInput() {
             return input;
         }
@@ -1106,14 +1173,15 @@ public class CoreEipAnnotationProcessor {
         private String defaultValue;
         private String documentation;
         private boolean deprecated;
+        private String deprecationNode;
         private boolean enumType;
         private Set<String> enums;
         private boolean oneOf;
         private Set<String> oneOfTypes;
         private boolean asPredicate;
 
-        private EipOption(String name, String displayName, String kind, String type, boolean required, String defaultValue, String documentation, boolean deprecated,
-                          boolean enumType, Set<String> enums, boolean oneOf, Set<String> oneOfTypes, boolean asPredicate) {
+        private EipOption(String name, String displayName, String kind, String type, boolean required, String defaultValue, String documentation,
+                          boolean deprecated, String deprecationNode, boolean enumType, Set<String> enums, boolean oneOf, Set<String> oneOfTypes, boolean asPredicate) {
             this.name = name;
             this.displayName = displayName;
             this.kind = kind;
@@ -1122,6 +1190,7 @@ public class CoreEipAnnotationProcessor {
             this.defaultValue = defaultValue;
             this.documentation = documentation;
             this.deprecated = deprecated;
+            this.deprecationNode = deprecationNode;
             this.enumType = enumType;
             this.enums = enums;
             this.oneOf = oneOf;
@@ -1161,6 +1230,10 @@ public class CoreEipAnnotationProcessor {
             return deprecated;
         }
 
+        public String getDeprecationNode() {
+            return deprecationNode;
+        }
+
         public boolean isEnumType() {
             return enumType;
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
index 7a26db9..ac9290d 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
@@ -444,6 +444,10 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
                 String methodName = method.getSimpleName().toString();
                 boolean deprecated = method.getAnnotation(Deprecated.class) != null;
                 Metadata metadata = method.getAnnotation(Metadata.class);
+                String deprecationNote = null;
+                if (metadata != null) {
+                    deprecationNote = metadata.deprecationNode();
+                }
 
                 // must be the setter
                 boolean isSetter = methodName.startsWith("set") && method.getParameters().size() == 1 & method.getReturnType().getKind().equals(TypeKind.VOID);
@@ -526,7 +530,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
 
                 String group = EndpointHelper.labelAsGroupName(label, componentModel.isConsumerOnly(), componentModel.isProducerOnly());
                 ComponentOption option = new ComponentOption(name, displayName, fieldTypeName, required, defaultValue, defaultValueNote,
-                        docComment.trim(), deprecated, secret, group, label, isEnum, enums);
+                        docComment.trim(), deprecated, deprecationNote, secret, group, label, isEnum, enums);
                 componentOptions.add(option);
             }
 
@@ -555,6 +559,10 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
 
                 Metadata metadata = fieldElement.getAnnotation(Metadata.class);
                 boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+                String deprecationNote = null;
+                if (metadata != null) {
+                    deprecationNote = metadata.deprecationNode();
+                }
                 Boolean secret = metadata != null ? metadata.secret() : null;
 
                 UriPath path = fieldElement.getAnnotation(UriPath.class);
@@ -629,7 +637,8 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
 
                     String group = EndpointHelper.labelAsGroupName(label, componentModel.isConsumerOnly(), componentModel.isProducerOnly());
                     boolean isSecret = secret != null ? secret : false;
-                    EndpointPath ep = new EndpointPath(name, displayName, fieldTypeName, required, defaultValue, docComment, deprecated, isSecret, group, label, isEnum, enums);
+                    EndpointPath ep = new EndpointPath(name, displayName, fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote,
+                        isSecret, group, label, isEnum, enums);
                     endpointPaths.add(ep);
                 }
 
@@ -724,7 +733,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
                         boolean isSecret = secret != null ? secret : param.secret();
                         String group = EndpointHelper.labelAsGroupName(label, componentModel.isConsumerOnly(), componentModel.isProducerOnly());
                         EndpointOption option = new EndpointOption(name, displayName, fieldTypeName, required, defaultValue, defaultValueNote,
-                                docComment.trim(), paramOptionalPrefix, paramPrefix, multiValue, deprecated, isSecret, group, label, isEnum, enums);
+                                docComment.trim(), paramOptionalPrefix, paramPrefix, multiValue, deprecated, deprecationNote, isSecret, group, label, isEnum, enums);
                         endpointOptions.add(option);
                     }
                 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java
index b336a40..3c696c2 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java
@@ -34,6 +34,7 @@ public final class ComponentModel {
     private boolean consumerOnly;
     private boolean producerOnly;
     private boolean deprecated;
+    private String deprecationNode;
     private boolean lenientProperties;
     private boolean async;
 
@@ -165,6 +166,14 @@ public final class ComponentModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNode() {
+        return deprecationNode;
+    }
+
+    public void setDeprecationNode(String deprecationNode) {
+        this.deprecationNode = deprecationNode;
+    }
+
     public boolean isLenientProperties() {
         return lenientProperties;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
index eae23de..3bd678f 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
@@ -32,6 +32,7 @@ public final class ComponentOption {
     private String defaultValueNote;
     private String documentation;
     private boolean deprecated;
+    private String deprecationNode;
     private boolean secret;
     private String group;
     private String label;
@@ -39,7 +40,7 @@ public final class ComponentOption {
     private Set<String> enums;
 
     public ComponentOption(String name, String displayName, String type, String required, String defaultValue, String defaultValueNote,
-                           String documentation, boolean deprecated, boolean secret, String group, String label,
+                           String documentation, boolean deprecated, String deprecationNode, boolean secret, String group, String label,
                            boolean enumType, Set<String> enums) {
         this.name = name;
         this.displayName = displayName;
@@ -49,6 +50,7 @@ public final class ComponentOption {
         this.defaultValueNote = defaultValueNote;
         this.documentation = documentation;
         this.deprecated = deprecated;
+        this.deprecationNode = deprecationNode;
         this.secret = secret;
         this.group = group;
         this.label = label;
@@ -84,6 +86,10 @@ public final class ComponentOption {
         return deprecated;
     }
 
+    public String getDeprecationNode() {
+        return deprecationNode;
+    }
+
     public boolean isSecret() {
         return secret;
     }
@@ -96,6 +102,10 @@ public final class ComponentOption {
             sb.append(". Default value notice: ").append(defaultValueNote);
         }
 
+        if (!isNullOrEmpty(deprecationNode)) {
+            sb.append(". Deprecation note: ").append(deprecationNode);
+        }
+
         return sb.toString();
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
index d20bdf4..29d0bab 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
@@ -35,6 +35,7 @@ public final class EndpointOption {
     private String prefix;
     private boolean multiValue;
     private boolean deprecated;
+    private String deprecationNote;
     private boolean secret;
     private String group;
     private String label;
@@ -43,7 +44,7 @@ public final class EndpointOption {
 
     public EndpointOption(String name, String displayName, String type, String required, String defaultValue, String defaultValueNote,
                           String documentation, String optionalPrefix, String prefix, boolean multiValue,
-                          boolean deprecated, boolean secret, String group, String label,
+                          boolean deprecated, String deprecationNote, boolean secret, String group, String label,
                           boolean enumType, Set<String> enums) {
         this.name = name;
         this.displayName = displayName;
@@ -56,6 +57,7 @@ public final class EndpointOption {
         this.prefix = prefix;
         this.multiValue = multiValue;
         this.deprecated = deprecated;
+        this.deprecationNote = deprecationNote;
         this.secret = secret;
         this.group = group;
         this.label = label;
@@ -103,6 +105,10 @@ public final class EndpointOption {
         return deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
     public boolean isSecret() {
         return secret;
     }
@@ -114,6 +120,9 @@ public final class EndpointOption {
         if (!isNullOrEmpty(defaultValueNote)) {
             sb.append(". Default value notice: ").append(defaultValueNote);
         }
+        if (!isNullOrEmpty(deprecationNote)) {
+            sb.append(". Deprecation note: ").append(deprecationNote);
+        }
 
         return sb.toString();
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
index f422b85..41a2072 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
@@ -29,6 +29,7 @@ public final class EndpointPath {
     private String defaultValue;
     private String documentation;
     private boolean deprecated;
+    private String deprecationNote;
     private boolean secret;
     private String group;
     private String label;
@@ -36,7 +37,7 @@ public final class EndpointPath {
     private Set<String> enums;
 
     public EndpointPath(String name, String displayName, String type, String required, String defaultValue, String documentation,
-                        boolean deprecated, boolean secret, String group, String label,
+                        boolean deprecated, String deprecationNote, boolean secret, String group, String label,
                         boolean enumType, Set<String> enums) {
         this.name = name;
         this.displayName = displayName;
@@ -45,6 +46,7 @@ public final class EndpointPath {
         this.defaultValue = defaultValue;
         this.documentation = documentation;
         this.deprecated = deprecated;
+        this.deprecationNote = deprecationNote;
         this.secret = secret;
         this.group = group;
         this.label = label;
@@ -80,6 +82,10 @@ public final class EndpointPath {
         return deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
     public boolean isSecret() {
         return secret;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java b/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
index 25c88b5..feabf55 100644
--- a/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
+++ b/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
@@ -39,10 +39,14 @@ public class EndpointOptionComparatorTest {
         String group3 = EndpointHelper.labelAsGroupName(label3, false, false);
         String group4 = EndpointHelper.labelAsGroupName(label4, false, false);
 
-        EndpointOption op1 = new EndpointOption("first", "First", "string", "true", "", "", "blah", null, null, false, false, false, group1, label1, false, null);
-        EndpointOption op2 = new EndpointOption("synchronous", "Synchronous", "string", "true", "", "", "blah", null, null, false, false, false, group2, label2, false, null);
-        EndpointOption op3 = new EndpointOption("second", "Second", "string", "true", "", "", "blah", null, null, false, false, false, group3, label3, false, null);
-        EndpointOption op4 = new EndpointOption("country", "Country", "string", "true", "", "", "blah", null, null, false, false, false, group4, label4, false, null);
+        EndpointOption op1 = new EndpointOption("first", "First", "string", "true", "", "", "blah", null, null, false,
+            false, null, false, group1, label1, false, null);
+        EndpointOption op2 = new EndpointOption("synchronous", "Synchronous", "string", "true", "", "", "blah", null, null, false,
+            false, null, false, group2, label2, false, null);
+        EndpointOption op3 = new EndpointOption("second", "Second", "string", "true", "", "", "blah", null, null, false,
+            false, null, false, group3, label3, false, null);
+        EndpointOption op4 = new EndpointOption("country", "Country", "string", "true", "", "", "blah", null, null, false,
+            false, null, false, group4, label4, false, null);
 
         List<EndpointOption> list = new ArrayList<EndpointOption>();
         list.add(op1);

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
index b2ec37c..e59e42e 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
@@ -274,6 +274,9 @@ public class PackageDataFormatMojo extends AbstractMojo {
             if (row.containsKey("deprecated")) {
                 dataFormatModel.setDeprecated(row.get("deprecated"));
             }
+            if (row.containsKey("deprecationNote")) {
+                dataFormatModel.setDeprecationNote(row.get("deprecationNote"));
+            }
             if (row.containsKey("javaType")) {
                 dataFormatModel.setModelJavaType(row.get("javaType"));
             }
@@ -488,6 +491,7 @@ public class PackageDataFormatMojo extends AbstractMojo {
         private String firstVersion;
         private String label;
         private String deprecated;
+        private String deprecationNote;
         private String javaType;
         private String modelJavaType;
         private String groupId;
@@ -558,6 +562,14 @@ public class PackageDataFormatMojo extends AbstractMojo {
             this.deprecated = deprecated;
         }
 
+        public String getDeprecationNote() {
+            return deprecationNote;
+        }
+
+        public void setDeprecationNote(String deprecationNote) {
+            this.deprecationNote = deprecationNote;
+        }
+
         public String getJavaType() {
             return javaType;
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
index e6ff6d2..29c2fc2 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
@@ -197,6 +197,9 @@ public class PackageLanguageMojo extends AbstractMojo {
                                 if (row.containsKey("deprecated")) {
                                     languageModel.setDeprecated(row.get("deprecated"));
                                 }
+                                if (row.containsKey("deprecationNote")) {
+                                    languageModel.setDeprecationNote(row.get("deprecationNote"));
+                                }
                                 if (row.containsKey("javaType")) {
                                     languageModel.setModelJavaType(row.get("javaType"));
                                 }
@@ -403,6 +406,7 @@ public class PackageLanguageMojo extends AbstractMojo {
         private String firstVersion;
         private String label;
         private String deprecated;
+        private String deprecationNote;
         private String javaType;
         private String modelJavaType;
         private String groupId;
@@ -473,6 +477,14 @@ public class PackageLanguageMojo extends AbstractMojo {
             this.deprecated = deprecated;
         }
 
+        public String getDeprecationNote() {
+            return deprecationNote;
+        }
+
+        public void setDeprecationNote(String deprecationNote) {
+            this.deprecationNote = deprecationNote;
+        }
+
         public String getJavaType() {
             return javaType;
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
index 87e99ed..7739c3c 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
@@ -256,6 +256,7 @@ public class PackageOtherMojo extends AbstractMojo {
         private String title;
         private String description;
         private String deprecated;
+        private String deprecationNote;
         private String firstVersion;
         private String label;
         private String groupId;
@@ -294,6 +295,14 @@ public class PackageOtherMojo extends AbstractMojo {
             this.deprecated = deprecated;
         }
 
+        public String getDeprecationNote() {
+            return deprecationNote;
+        }
+
+        public void setDeprecationNote(String deprecationNote) {
+            this.deprecationNote = deprecationNote;
+        }
+
         public String getFirstVersion() {
             return firstVersion;
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
index f9e47be..441034a 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
@@ -775,6 +775,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
         eip.setJavaType(JSonSchemaHelper.getSafeValue("javaType", rows));
         eip.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
         eip.setDeprecated("true".equals(JSonSchemaHelper.getSafeValue("deprecated", rows)));
+        eip.setDeprecationNote(JSonSchemaHelper.getSafeValue("deprecationNote", rows));
         eip.setInput("true".equals(JSonSchemaHelper.getSafeValue("input", rows)));
         eip.setOutput("true".equals(JSonSchemaHelper.getSafeValue("output", rows)));
 
@@ -794,6 +795,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
         component.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         component.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
         component.setDeprecated(JSonSchemaHelper.getSafeValue("deprecated", rows));
+        component.setDeprecationNote(JSonSchemaHelper.getSafeValue("deprecationNote", rows));
         component.setConsumerOnly(JSonSchemaHelper.getSafeValue("consumerOnly", rows));
         component.setProducerOnly(JSonSchemaHelper.getSafeValue("producerOnly", rows));
         component.setJavaType(JSonSchemaHelper.getSafeValue("javaType", rows));
@@ -814,6 +816,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
         other.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         other.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
         other.setDeprecated(JSonSchemaHelper.getSafeValue("deprecated", rows));
+        other.setDeprecationNote(JSonSchemaHelper.getSafeValue("deprecationNote", rows));
         other.setGroupId(JSonSchemaHelper.getSafeValue("groupId", rows));
         other.setArtifactId(JSonSchemaHelper.getSafeValue("artifactId", rows));
         other.setVersion(JSonSchemaHelper.getSafeValue("version", rows));
@@ -832,6 +835,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
         dataFormat.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         dataFormat.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
         dataFormat.setDeprecated(JSonSchemaHelper.getSafeValue("deprecated", rows));
+        dataFormat.setDeprecationNote(JSonSchemaHelper.getSafeValue("deprecationNote", rows));
         dataFormat.setJavaType(JSonSchemaHelper.getSafeValue("javaType", rows));
         dataFormat.setGroupId(JSonSchemaHelper.getSafeValue("groupId", rows));
         dataFormat.setArtifactId(JSonSchemaHelper.getSafeValue("artifactId", rows));
@@ -851,6 +855,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
         language.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         language.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
         language.setDeprecated(JSonSchemaHelper.getSafeValue("deprecated", rows));
+        language.setDeprecationNote(JSonSchemaHelper.getSafeValue("deprecationNote", rows));
         language.setJavaType(JSonSchemaHelper.getSafeValue("javaType", rows));
         language.setGroupId(JSonSchemaHelper.getSafeValue("groupId", rows));
         language.setArtifactId(JSonSchemaHelper.getSafeValue("artifactId", rows));

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
index fbc5bd7..942cdd9 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
@@ -560,6 +560,7 @@ public class PrepareUserGuideMojo extends AbstractMojo {
         component.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         component.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
         component.setDeprecated(JSonSchemaHelper.getSafeValue("deprecated", rows));
+        component.setDeprecationNote(JSonSchemaHelper.getSafeValue("deprecationNote", rows));
         component.setConsumerOnly(JSonSchemaHelper.getSafeValue("consumerOnly", rows));
         component.setProducerOnly(JSonSchemaHelper.getSafeValue("producerOnly", rows));
         component.setJavaType(JSonSchemaHelper.getSafeValue("javaType", rows));
@@ -580,6 +581,7 @@ public class PrepareUserGuideMojo extends AbstractMojo {
         other.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         other.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
         other.setDeprecated(JSonSchemaHelper.getSafeValue("deprecated", rows));
+        other.setDeprecationNote(JSonSchemaHelper.getSafeValue("deprecationNote", rows));
         other.setGroupId(JSonSchemaHelper.getSafeValue("groupId", rows));
         other.setArtifactId(JSonSchemaHelper.getSafeValue("artifactId", rows));
         other.setVersion(JSonSchemaHelper.getSafeValue("version", rows));
@@ -598,6 +600,7 @@ public class PrepareUserGuideMojo extends AbstractMojo {
         dataFormat.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         dataFormat.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
         dataFormat.setDeprecated(JSonSchemaHelper.getSafeValue("deprecated", rows));
+        dataFormat.setDeprecationNote(JSonSchemaHelper.getSafeValue("deprecationNote", rows));
         dataFormat.setJavaType(JSonSchemaHelper.getSafeValue("javaType", rows));
         dataFormat.setGroupId(JSonSchemaHelper.getSafeValue("groupId", rows));
         dataFormat.setArtifactId(JSonSchemaHelper.getSafeValue("artifactId", rows));
@@ -617,6 +620,7 @@ public class PrepareUserGuideMojo extends AbstractMojo {
         language.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         language.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
         language.setDeprecated(JSonSchemaHelper.getSafeValue("deprecated", rows));
+        language.setDeprecationNote(JSonSchemaHelper.getSafeValue("deprecationNote", rows));
         language.setJavaType(JSonSchemaHelper.getSafeValue("javaType", rows));
         language.setGroupId(JSonSchemaHelper.getSafeValue("groupId", rows));
         language.setArtifactId(JSonSchemaHelper.getSafeValue("artifactId", rows));

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
index 0980afc..984cfea 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
@@ -1791,6 +1791,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
         component.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         component.setLabel(getSafeValue("label", rows));
         component.setDeprecated(getSafeValue("deprecated", rows));
+        component.setDeprecationNote(getSafeValue("deprecationNote", rows));
         component.setConsumerOnly(getSafeValue("consumerOnly", rows));
         component.setProducerOnly(getSafeValue("producerOnly", rows));
         component.setJavaType(getSafeValue("javaType", rows));
@@ -1807,6 +1808,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
             option.setType(getSafeValue("type", row));
             option.setJavaType(getSafeValue("javaType", row));
             option.setDeprecated(getSafeValue("deprecated", row));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setDescription(getSafeValue("description", row));
             option.setDefaultValue(getSafeValue("defaultValue", row));
             option.setEnums(getSafeValue("enum", row));
@@ -1827,6 +1829,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
             option.setPrefix(getSafeValue("prefix", row));
             option.setMultiValue(getSafeValue("multiValue", row));
             option.setDeprecated(getSafeValue("deprecated", row));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setDefaultValue(getSafeValue("defaultValue", row));
             option.setDescription(getSafeValue("description", row));
             option.setEnumValues(getSafeValue("enum", row));
@@ -1847,6 +1850,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
         dataFormat.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         dataFormat.setLabel(getSafeValue("label", rows));
         dataFormat.setDeprecated(getSafeValue("deprecated", rows));
+        dataFormat.setDeprecationNote(getSafeValue("deprecationNote", rows));
         dataFormat.setJavaType(getSafeValue("javaType", rows));
         dataFormat.setGroupId(getSafeValue("groupId", rows));
         dataFormat.setArtifactId(getSafeValue("artifactId", rows));
@@ -1861,6 +1865,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
             option.setType(getSafeValue("type", row));
             option.setJavaType(getSafeValue("javaType", row));
             option.setDeprecated(getSafeValue("deprecated", row));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setDescription(getSafeValue("description", row));
             option.setDefaultValue(getSafeValue("defaultValue", row));
             option.setEnumValues(getSafeValue("enum", row));
@@ -1881,6 +1886,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
         language.setFirstVersion(JSonSchemaHelper.getSafeValue("firstVersion", rows));
         language.setLabel(getSafeValue("label", rows));
         language.setDeprecated(getSafeValue("deprecated", rows));
+        language.setDeprecationNote(getSafeValue("deprecationNote", rows));
         language.setJavaType(getSafeValue("javaType", rows));
         language.setGroupId(getSafeValue("groupId", rows));
         language.setArtifactId(getSafeValue("artifactId", rows));
@@ -1895,6 +1901,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
             option.setType(getSafeValue("type", row));
             option.setJavaType(getSafeValue("javaType", row));
             option.setDeprecated(getSafeValue("deprecated", row));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setDescription(getSafeValue("description", row));
             option.setDefaultValue(getSafeValue("defaultValue", row));
             option.setEnumValues(getSafeValue("enum", row));
@@ -1914,6 +1921,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
         model.setJavaType(getSafeValue("javaType", rows));
         model.setLabel(getSafeValue("label", rows));
         model.setDeprecated(getSafeValue("deprecated", rows));
+        model.setDeprecationNote(getSafeValue("deprecationNote", rows));
 
         rows = parseJsonSchema("properties", json, true);
         for (Map<String, String> row : rows) {
@@ -1927,6 +1935,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
             option.setJavaType(getSafeValue("javaType", row));
             option.setEnums(getSafeValue("enum", row));
             option.setDeprecated(getSafeValue("deprecated", row));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setDefaultValue(getSafeValue("defaultValue", row));
             option.setDescription(getSafeValue("description", row));
             option.setEnums(getSafeValue("enums", row));

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
index 45200b0..654d0c7 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
@@ -767,6 +767,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
         component.setFirstVersion(getSafeValue("firstVersion", rows));
         component.setLabel(getSafeValue("label", rows));
         component.setDeprecated(getSafeValue("deprecated", rows));
+        component.setDeprecationNote(getSafeValue("deprecationNote", rows));
         component.setConsumerOnly(getSafeValue("consumerOnly", rows));
         component.setProducerOnly(getSafeValue("producerOnly", rows));
         component.setJavaType(getSafeValue("javaType", rows));
@@ -787,6 +788,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
             option.setJavaType(getSafeValue("javaType", row));
             option.setEnums(getSafeValue("enum", row));
             option.setDeprecated(getSafeValue("deprecated", row));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setSecret(getSafeValue("secret", row));
             option.setDefaultValue(getSafeValue("defaultValue", row));
             option.setDescription(getSafeValue("description", row));
@@ -819,6 +821,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
             option.setPrefix(getSafeValue("prefix", row));
             option.setMultiValue(getSafeValue("multiValue", row));
             option.setDeprecated(getSafeValue("deprecated", row));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setSecret(getSafeValue("secret", row));
             option.setDefaultValue(getSafeValue("defaultValue", row));
             option.setDescription(getSafeValue("description", row));
@@ -855,6 +858,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
         dataFormat.setFirstVersion(getSafeValue("firstVersion", rows));
         dataFormat.setLabel(getSafeValue("label", rows));
         dataFormat.setDeprecated(getSafeValue("deprecated", rows));
+        dataFormat.setDeprecationNote(getSafeValue("deprecationNote", rows));
         dataFormat.setJavaType(getSafeValue("javaType", rows));
         dataFormat.setGroupId(getSafeValue("groupId", rows));
         dataFormat.setArtifactId(getSafeValue("artifactId", rows));
@@ -869,6 +873,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
             option.setType(getSafeValue("type", row));
             option.setJavaType(getSafeValue("javaType", row));
             option.setDeprecated(getSafeValue("deprecated", row));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setEnumValues(getSafeValue("enum", row));
             option.setDefaultValue(getSafeValue("defaultValue", row));
             option.setDescription(getSafeValue("description", row));
@@ -902,6 +907,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
         language.setFirstVersion(getSafeValue("firstVersion", rows));
         language.setLabel(getSafeValue("label", rows));
         language.setDeprecated(getSafeValue("deprecated", rows));
+        language.setDeprecationNote(getSafeValue("deprecationNote", rows));
         language.setJavaType(getSafeValue("javaType", rows));
         language.setGroupId(getSafeValue("groupId", rows));
         language.setArtifactId(getSafeValue("artifactId", rows));
@@ -916,6 +922,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
             option.setType(getSafeValue("type", row));
             option.setJavaType(getSafeValue("javaType", row));
             option.setDeprecated(getSafeValue("deprecated", row));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setEnumValues(getSafeValue("enum", row));
             option.setDefaultValue(getSafeValue("defaultValue", row));
             option.setDescription(getSafeValue("description", row));
@@ -941,6 +948,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
         eip.setJavaType(getSafeValue("javaType", rows));
         eip.setLabel(getSafeValue("label", rows));
         eip.setDeprecated("true".equals(getSafeValue("deprecated", rows)));
+        eip.setDeprecationNote(getSafeValue("deprecationNote", rows));
         eip.setInput("true".equals(getSafeValue("input", rows)));
         eip.setOutput("true".equals(getSafeValue("output", rows)));
 
@@ -953,6 +961,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
             option.setJavaType(getSafeValue("javaType", row));
             option.setRequired(getSafeValue("required", row));
             option.setDeprecated("true".equals(getSafeValue("deprecated", row)));
+            option.setDeprecationNote(getSafeValue("deprecationNote", row));
             option.setDescription(getSafeValue("description", row));
             option.setInput("true".equals(getSafeValue("input", row)));
             option.setOutput("true".equals(getSafeValue("output", row)));

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentModel.java
index bb5a391..e067516 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentModel.java
@@ -35,6 +35,7 @@ public class ComponentModel {
     private String firstVersion;
     private String label;
     private String deprecated;
+    private String deprecationNote;
     private String consumerOnly;
     private String producerOnly;
     private String javaType;
@@ -129,6 +130,14 @@ public class ComponentModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public String getConsumerOnly() {
         return consumerOnly;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java
index 3b1a21c..71ac1c8 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java
@@ -32,6 +32,7 @@ public class ComponentOptionModel {
     private String type;
     private String javaType;
     private String deprecated;
+    private String deprecationNote;
     private String secret;
     private String description;
     private String defaultValue;
@@ -104,6 +105,14 @@ public class ComponentOptionModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public String getSecret() {
         return secret;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatModel.java
index f35dd1a..e63d71b 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatModel.java
@@ -33,6 +33,7 @@ public class DataFormatModel {
     private String firstVersion;
     private String label;
     private String deprecated;
+    private String deprecationNote;
     private String javaType;
     private String groupId;
     private String artifactId;
@@ -111,6 +112,14 @@ public class DataFormatModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public String getJavaType() {
         return javaType;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatOptionModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatOptionModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatOptionModel.java
index 9cac68c..ae83683 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatOptionModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/DataFormatOptionModel.java
@@ -24,6 +24,7 @@ public class DataFormatOptionModel {
     private String type;
     private String javaType;
     private String deprecated;
+    private String deprecationNote;
     private String description;
     private String defaultValue;
     private String enumValues;
@@ -76,6 +77,14 @@ public class DataFormatOptionModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public String getDescription() {
         return description;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipModel.java
index cadd33b..1845151 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipModel.java
@@ -27,6 +27,7 @@ public class EipModel {
     private String label;
     private String description;
     private boolean deprecated;
+    private String deprecationNote;
     private boolean input;
     private boolean output;
     private final List<EipOptionModel> eipOptions = new ArrayList<EipOptionModel>();
@@ -79,6 +80,14 @@ public class EipModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public boolean isInput() {
         return input;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipOptionModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipOptionModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipOptionModel.java
index 76adc84..2e4223d 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipOptionModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EipOptionModel.java
@@ -27,6 +27,7 @@ public class EipOptionModel {
     private String label;
     private String description;
     private boolean deprecated;
+    private String deprecationNote;
     private boolean input;
     private boolean output;
 
@@ -102,6 +103,14 @@ public class EipOptionModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public boolean isInput() {
         return input;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java
index ad6103b..f6f3491 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java
@@ -31,6 +31,7 @@ public class EndpointOptionModel {
     private String prefix;
     private String multiValue;
     private String deprecated;
+    private String deprecationNote;
     private String secret;
     private String defaultValue;
     private String description;
@@ -127,6 +128,14 @@ public class EndpointOptionModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public String getSecret() {
         return secret;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageModel.java
index 137e55d..c664113 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageModel.java
@@ -33,6 +33,7 @@ public class LanguageModel {
     private String firstVersion;
     private String label;
     private String deprecated;
+    private String deprecationNote;
     private String javaType;
     private String groupId;
     private String artifactId;
@@ -111,6 +112,14 @@ public class LanguageModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public String getJavaType() {
         return javaType;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageOptionModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageOptionModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageOptionModel.java
index ea4240c..056c9c9 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageOptionModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/LanguageOptionModel.java
@@ -24,6 +24,7 @@ public class LanguageOptionModel {
     private String type;
     private String javaType;
     private String deprecated;
+    private String deprecationNote;
     private String description;
     private String defaultValue;
     private String enumValues;
@@ -76,6 +77,14 @@ public class LanguageOptionModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public String getDescription() {
         return description;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherModel.java
index a42b25b..3c5f2e1 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherModel.java
@@ -30,6 +30,7 @@ public class OtherModel {
     private String firstVersion;
     private String label;
     private String deprecated;
+    private String deprecationNote;
     private String groupId;
     private String artifactId;
     private String version;
@@ -100,6 +101,14 @@ public class OtherModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public String getGroupId() {
         return groupId;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherOptionModel.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherOptionModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherOptionModel.java
index 1d825b5..373e70c 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherOptionModel.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/OtherOptionModel.java
@@ -28,6 +28,7 @@ public class OtherOptionModel {
     private String type;
     private String javaType;
     private String deprecated;
+    private String deprecationNote;
     private String secret;
     private String description;
     private String defaultValue;
@@ -100,6 +101,14 @@ public class OtherOptionModel {
         this.deprecated = deprecated;
     }
 
+    public String getDeprecationNote() {
+        return deprecationNote;
+    }
+
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
+    }
+
     public String getSecret() {
         return secret;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7dde22d3/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
----------------------------------------------------------------------
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
index b2c77bd..adef691 100644
--- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
@@ -88,4 +88,9 @@ public @interface Metadata {
      */
     String firstVersion() default "";
 
+    /**
+     * Additional description that can explain the user about the deprecation and give reference to what to use instead.
+     */
+    String deprecationNode() default "";
+
 }


Mime
View raw message