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

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


The following commit(s) were added to refs/heads/main by this push:
     new a7908078b22 Fix duplicate property in KubernetesExport of 
camel-jbang-plugin-kubernetes (#16938)
a7908078b22 is described below

commit a7908078b223d07125dcaa5e807a26adb94d9045
Author: Claudio Miranda <clau...@claudius.com.br>
AuthorDate: Tue Jan 28 03:09:38 2025 -0300

    Fix duplicate property in KubernetesExport of camel-jbang-plugin-kubernetes 
(#16938)
    
    The picocli parameter "property" is duplicated in ExportBaseCommand and 
KubernetesExport causing
    CommandLine$DuplicateOptionAnnotationsException: Option name '--property' 
is used by both field
---
 .../org/apache/camel/catalog/schemas/camel-spring.xsd          |  3 ++-
 .../camel/dsl/jbang/core/commands/ExportBaseCommand.java       |  2 +-
 .../dsl/jbang/core/commands/kubernetes/KubernetesExport.java   | 10 +++++-----
 .../dsl/jbang/core/commands/kubernetes/KubernetesRun.java      |  2 +-
 4 files changed, 9 insertions(+), 8 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index 40197d0c90d..5962f3bd6ba 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -12685,7 +12685,8 @@ Sets the bean ref name of the error handler builder to 
use on this route.
           <xs:annotation>
             <xs:documentation xml:lang="en">
 <![CDATA[
-The group name for this route. Multiple routes can belong to the same group.
+The group that this route belongs to; could be the name of the RouteBuilder 
class or be explicitly configured in the
+XML. May be null.
 ]]>
             </xs:documentation>
           </xs:annotation>
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index 980615026d0..aa7578b74b1 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -220,7 +220,7 @@ public abstract class ExportBaseCommand extends 
CamelCommand {
 
     @CommandLine.Option(names = { "--property" },
                         description = "Camel application properties, ex. 
--property=prop1=foo")
-    String[] applicationProperties;
+    protected String[] applicationProperties;
 
     @CommandLine.Option(names = { "--logging" }, defaultValue = "false",
                         description = "Can be used to turn on logging (logs to 
file in <user home>/.camel directory)")
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
index d187e0c181e..4cf5e3acf0c 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
@@ -56,10 +56,6 @@ public class KubernetesExport extends Export {
     @CommandLine.Option(names = { "--service-account" }, description = "The 
service account used to run the application.")
     protected String serviceAccount;
 
-    @CommandLine.Option(names = { "--property" },
-                        description = "Add a runtime property or properties 
file from a path, a config map or a secret (syntax: 
[my-key=my-value|file:/path/to/my-conf.properties|[configmap|secret]:name]).")
-    protected String[] properties;
-
     @CommandLine.Option(names = { "--config" },
                         description = "Add a runtime configuration from a 
ConfigMap or a Secret (syntax: [configmap|secret]:name[/key], where name 
represents the configmap/secret name and key optionally represents the 
configmap/secret key to be filtered).")
     protected String[] configs;
@@ -251,7 +247,7 @@ public class KubernetesExport extends Export {
             // Remove OpenAPI spec option to avoid duplicate handling by 
parent export command
             openapi = null;
         }
-        TraitHelper.configureProperties(traitsSpec, properties);
+        TraitHelper.configureProperties(traitsSpec, applicationProperties);
         TraitHelper.configureContainerImage(traitsSpec, image,
                 resolvedImageRegistry, resolvedImageGroup, projectName, 
getVersion());
         TraitHelper.configureEnvVars(traitsSpec, envVars);
@@ -476,6 +472,10 @@ public class KubernetesExport extends Export {
         return super.getVersion();
     }
 
+    protected void setApplicationProperties(String[] props) {
+        this.applicationProperties = props;
+    }
+
     /**
      * Configurer used to customize internal options for the Export command.
      */
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
index 432c390ec48..d7beb50109a 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
@@ -380,7 +380,7 @@ public class KubernetesRun extends KubernetesBaseCommand {
         export.imageBuilder = imageBuilder;
         export.clusterType = clusterType;
         export.serviceAccount = serviceAccount;
-        export.properties = properties;
+        export.setApplicationProperties(properties);
         export.configs = configs;
         export.resources = resources;
         export.envVars = envVars;

Reply via email to