You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/06/14 07:48:29 UTC

[camel] 02/02: camel-jbang - Add support for camel- dependency syntax. Better error message.

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

commit 6ba4a704c4aacdf75c4850643d49a8ebca9d433b
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Jun 14 09:48:15 2022 +0200

    camel-jbang - Add support for camel- dependency syntax. Better error message.
---
 .../java/org/apache/camel/main/DependencyUtil.java |  6 ++---
 .../main/java/org/apache/camel/main/MavenGav.java  | 27 +++++++++++++---------
 2 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyUtil.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyUtil.java
index 325edfb2ca2..9ba17846fd2 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyUtil.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyUtil.java
@@ -70,9 +70,9 @@ final class DependencyUtil {
                     })
                     .collect(Collectors.toList());
         } catch (ResolutionException e) {
-            String msg = "Cannot resolve dependencies from maven central";
-            if (customRepos != null) {
-                msg = "Cannot resolve dependencies from " + String.join(", ", customRepos);
+            String msg = "Cannot resolve dependencies in central (https://repo1.maven.org/maven2)";
+            if (customRepos != null && customRepos.size() > 0) {
+                msg = "Cannot resolve dependencies in " + String.join(", ", customRepos);
             }
             throw new DownloadException(msg, e);
         } catch (RuntimeException e) {
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/MavenGav.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/MavenGav.java
index 605e8c8e2aa..e9404452749 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/MavenGav.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/MavenGav.java
@@ -36,7 +36,7 @@ public final class MavenGav {
         if (gav.startsWith("camel:")) {
             answer.setGroupId("org.apache.camel");
             String a = gav.substring(6);
-            // users may mistakenly use quarkus extension but they should just refer to the vanilla component name
+            // users may mistakenly use quarkus extension, but they should just refer to the vanilla component name
             if (a.startsWith("camel-quarkus-")) {
                 a = "camel-" + a.substring(14);
             }
@@ -51,7 +51,7 @@ public final class MavenGav {
             // not really camel-k style but users may mistakenly use camel-file instead of camel:file
             answer.setGroupId("org.apache.camel");
             String a = gav;
-            // users may mistakenly use quarkus extension but they should just refer to the vanilla component name
+            // users may mistakenly use quarkus extension, but they should just refer to the vanilla component name
             if (a.startsWith("camel-quarkus-")) {
                 a = "camel-" + a.substring(14);
             }
@@ -61,21 +61,26 @@ public final class MavenGav {
             }
         } else if (gav.startsWith("org.apache.camel:")) {
             String[] parts = gav.split(":");
-            answer.setGroupId(parts[0]);
-            answer.setArtifactId(parts[1]);
-            if (parts.length == 3) {
+            if (parts.length > 0) {
+                answer.setGroupId(parts[0]);
+            }
+            if (parts.length > 1) {
+                answer.setArtifactId(parts[1]);
+            }
+            if (parts.length > 2) {
                 answer.setVersion(parts[2]);
             } else if (context != null) {
                 answer.setVersion(context.getVersion());
             }
-        } else if (gav.startsWith("github:")) {
-            // TODO: currently not supported
-            return answer;
         } else {
             String[] parts = gav.startsWith("mvn:") ? gav.substring(4).split(":") : gav.split(":");
-            answer.setGroupId(parts[0]);
-            answer.setArtifactId(parts[1]);
-            if (parts.length == 3) {
+            if (parts.length > 0) {
+                answer.setGroupId(parts[0]);
+            }
+            if (parts.length > 1) {
+                answer.setArtifactId(parts[1]);
+            }
+            if (parts.length > 2) {
                 answer.setVersion(parts[2]);
             }
         }