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

cdeppisch 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 a5d16d7461e [CAMEL-20969] k8s plugin may generate conflicting docker 
build dependencies
a5d16d7461e is described below

commit a5d16d7461efe29d6df4e60b0bd4245ac421b6ca
Author: Thomas Diesler <[email protected]>
AuthorDate: Thu Jul 11 14:15:23 2024 +0200

    [CAMEL-20969] k8s plugin may generate conflicting docker build dependencies
---
 .../core/commands/kubernetes/KubernetesExport.java | 24 +++++++++++-----------
 .../core/commands/kubernetes/KubernetesRun.java    |  5 -----
 2 files changed, 12 insertions(+), 17 deletions(-)

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 da17552e462..0eed255ee67 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
@@ -49,10 +49,6 @@ class KubernetesExport extends Export {
     @CommandLine.Option(names = { "--trait-profile" }, description = "The 
trait profile to use for the deployment.")
     String traitProfile;
 
-    @CommandLine.Option(names = { "--dependency" },
-                        description = "Adds dependency that should be 
included, use \"camel:\" prefix for a Camel component, \"mvn:org.my:app:1.0\" 
for a Maven dependency.")
-    String[] dependencies;
-
     @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]).")
     String[] properties;
@@ -141,21 +137,25 @@ class KubernetesExport extends Export {
             runtime = RuntimeType.quarkus;
         }
 
-        List<String> exportDependencies = 
Optional.ofNullable(dependencies).map(Arrays::asList).orElseGet(ArrayList::new);
+        List<String> exportDependencies = new ArrayList<>();
+        if (dependencies != null) {
+            String[] deps = dependencies.split(",");
+            exportDependencies.addAll(Arrays.asList(deps));
+
+        }
         exportDependencies.add("camel:cli-connector");
         exportDependencies.add("io.quarkus:quarkus-kubernetes");
-        // TODO: make configurable to support builders other than 
quarkus-container-image-jib
-        exportDependencies.add("io.quarkus:quarkus-container-image-jib");
+
+        // Mutually exclusive image build plugins - use Jib by default
+        if 
(!exportDependencies.contains("io.quarkus:quarkus-container-image-docker")) {
+            exportDependencies.add("io.quarkus:quarkus-container-image-jib");
+        }
 
         // TODO: remove when fixed kubernetes-client version is part of the 
Quarkus platform
         // pin kubernetes-client to this version because of 
https://github.com/fabric8io/kubernetes-client/issues/6059
         exportDependencies.add("io.fabric8:kubernetes-client:6.13.1");
 
-        if (super.dependencies != null) {
-            super.dependencies += "," + String.join(",", exportDependencies);
-        } else {
-            super.dependencies = String.join(",", exportDependencies);
-        }
+        dependencies = String.join(",", exportDependencies);
 
         additionalProperties = 
Optional.ofNullable(additionalProperties).orElse("");
 
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 6b1da2eb7ea..79c8cb440e8 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
@@ -52,10 +52,6 @@ public class KubernetesRun extends KubernetesBaseCommand {
     @CommandLine.Option(names = { "--trait-profile" }, description = "The 
trait profile to use for the deployment.")
     String traitProfile;
 
-    @CommandLine.Option(names = { "--dependency" },
-                        description = "Adds dependency that should be 
included, use \"camel:\" prefix for a Camel component, \"mvn:org.my:app:1.0\" 
for a Maven dependency.")
-    String[] dependencies;
-
     @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]).")
     String[] properties;
@@ -186,7 +182,6 @@ public class KubernetesRun extends KubernetesBaseCommand {
         export.imageRegistry = imageRegistry;
         export.imageGroup = imageGroup;
         export.traitProfile = traitProfile;
-        export.dependencies = dependencies;
         export.properties = properties;
         export.configs = configs;
         export.resources = resources;

Reply via email to