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/15 09:00:48 UTC
[camel] 03/03: CAMEL-18194: camel-jbang - Refactor to make download code as single service.
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 3328af350ccd6206bb781876324ecf1db13faf49
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Jun 15 10:58:12 2022 +0200
CAMEL-18194: camel-jbang - Refactor to make download code as single service.
---
.../camel/dsl/jbang/core/commands/BaseExport.java | 2 +-
.../camel/dsl/jbang/core/commands/ExportCamelMain.java | 2 +-
.../camel/dsl/jbang/core/commands/ExportQuarkus.java | 2 +-
.../dsl/jbang/core/commands/ExportSpringBoot.java | 2 +-
.../main/download/CommandLineDependencyDownloader.java | 4 ++--
.../main/download/DependencyDownloaderKamelet.java | 4 ++--
.../main/download/DependencyDownloaderStrategy.java | 2 +-
.../camel/main/download/KnownDependenciesResolver.java | 2 +-
.../camel/main/download/MavenDependencyResolver.java | 2 +-
.../java/org/apache/camel/main/download/MavenGav.java | 18 +++++++++++-------
.../test/java/org/apache/camel/main/MavenGavTest.java | 9 ++++++---
11 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/BaseExport.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/BaseExport.java
index 36e8753c251..152970d3e2d 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/BaseExport.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/BaseExport.java
@@ -145,7 +145,7 @@ abstract class BaseExport extends CamelCommand {
Map<String, String> versions = new HashMap<>();
Set<String> toBeRemoved = new HashSet<>();
for (String line : answer) {
- MavenGav gav = MavenGav.parseGav(null, line);
+ MavenGav gav = MavenGav.parseGav(line);
String ga = gav.getGroupId() + ":" + gav.getArtifactId();
if (!versions.containsKey(ga)) {
versions.put(ga, gav.getVersion());
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
index 781d7496b0c..42097d1c3a1 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
@@ -152,7 +152,7 @@ class ExportCamelMain extends BaseExport {
StringBuilder sb = new StringBuilder();
for (String dep : deps) {
- MavenGav gav = MavenGav.parseGav(null, dep);
+ MavenGav gav = MavenGav.parseGav(dep);
String gid = gav.getGroupId();
String aid = gav.getArtifactId();
String v = gav.getVersion();
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
index 77a0655792d..5f501fc9da0 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
@@ -158,7 +158,7 @@ class ExportQuarkus extends BaseExport {
StringBuilder sb = new StringBuilder();
for (String dep : deps) {
- MavenGav gav = MavenGav.parseGav(null, dep);
+ MavenGav gav = MavenGav.parseGav(dep);
String gid = gav.getGroupId();
String aid = gav.getArtifactId();
String v = gav.getVersion();
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
index 5009ef15e7e..b2ce308d964 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
@@ -152,7 +152,7 @@ class ExportSpringBoot extends BaseExport {
StringBuilder sb = new StringBuilder();
for (String dep : deps) {
- MavenGav gav = MavenGav.parseGav(null, dep);
+ MavenGav gav = MavenGav.parseGav(dep);
String gid = gav.getGroupId();
String aid = gav.getArtifactId();
String v = gav.getVersion();
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/CommandLineDependencyDownloader.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/CommandLineDependencyDownloader.java
index b2209da6eec..451be0233b2 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/CommandLineDependencyDownloader.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/CommandLineDependencyDownloader.java
@@ -54,7 +54,7 @@ public class CommandLineDependencyDownloader extends ServiceSupport {
if (!gavs.isEmpty()) {
for (String gav : gavs) {
- MavenGav mg = MavenGav.parseGav(camelContext, gav);
+ MavenGav mg = MavenGav.parseGav(gav, camelContext.getVersion());
downloader.downloadDependency(mg.getGroupId(), mg.getArtifactId(),
mg.getVersion());
}
@@ -62,7 +62,7 @@ public class CommandLineDependencyDownloader extends ServiceSupport {
}
private boolean isValidGav(String gav) {
- MavenGav mg = MavenGav.parseGav(camelContext, gav);
+ MavenGav mg = MavenGav.parseGav(gav, camelContext.getVersion());
boolean exists
= downloader.alreadyOnClasspath(mg.getGroupId(), mg.getArtifactId(), mg.getVersion());
// valid if not already on classpath
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderKamelet.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderKamelet.java
index b97ef3b1a67..5c8f0c37a56 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderKamelet.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderKamelet.java
@@ -161,7 +161,7 @@ public final class DependencyDownloaderKamelet extends ServiceSupport
if (!gavs.isEmpty()) {
for (String gav : gavs) {
- MavenGav mg = MavenGav.parseGav(camelContext, gav);
+ MavenGav mg = MavenGav.parseGav(gav, camelContext.getVersion());
downloader.downloadDependency(mg.getGroupId(), mg.getArtifactId(), mg.getVersion());
downloaded.add(gav);
}
@@ -179,7 +179,7 @@ public final class DependencyDownloaderKamelet extends ServiceSupport
return false;
}
- MavenGav mg = MavenGav.parseGav(camelContext, gav);
+ MavenGav mg = MavenGav.parseGav(gav, camelContext.getVersion());
boolean exists = downloader.alreadyOnClasspath(mg.getGroupId(), mg.getArtifactId(), mg.getVersion());
// valid if not already on classpath
return !exists;
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderStrategy.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderStrategy.java
index aec7bf63c67..133930ec831 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderStrategy.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderStrategy.java
@@ -31,7 +31,7 @@ public class DependencyDownloaderStrategy implements DependencyStrategy {
@Override
public void onDependency(String dependency) {
- MavenGav gav = MavenGav.parseGav(camelContext, dependency);
+ MavenGav gav = MavenGav.parseGav(dependency, camelContext.getVersion());
if (!downloader.alreadyOnClasspath(gav.getGroupId(), gav.getArtifactId(), gav.getVersion())) {
downloader.downloadDependency(gav.getGroupId(), gav.getArtifactId(),
gav.getVersion());
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
index dd1cca2f96c..9adb8826a18 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
@@ -57,7 +57,7 @@ public final class KnownDependenciesResolver {
public MavenGav mavenGavForClass(String className) {
String gav = mappings.get(className);
if (gav != null) {
- return MavenGav.parseGav(camelContext, gav);
+ return MavenGav.parseGav(gav, camelContext.getVersion());
}
return null;
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyResolver.java
index f3a371054ab..0ab589d7552 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyResolver.java
@@ -96,7 +96,7 @@ public final class MavenDependencyResolver {
.map(mra -> {
String gav = mra.getCoordinate().getGroupId() + ":" + mra.getCoordinate().getArtifactId() + ":"
+ mra.getCoordinate().getVersion();
- return new MavenArtifact(MavenGav.parseGav(null, gav), mra.asFile());
+ return new MavenArtifact(MavenGav.parseGav(gav), mra.asFile());
})
.collect(Collectors.toList());
} catch (ResolutionException e) {
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenGav.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenGav.java
index f31cd96553d..445b829538d 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenGav.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenGav.java
@@ -30,7 +30,11 @@ public final class MavenGav {
public MavenGav() {
}
- public static MavenGav parseGav(CamelContext context, String gav) {
+ public static MavenGav parseGav(String gav) {
+ return parseGav(gav, null);
+ }
+
+ public static MavenGav parseGav(String gav, String defaultVersion) {
MavenGav answer = new MavenGav();
// camel-k style GAV
if (gav.startsWith("camel:")) {
@@ -44,8 +48,8 @@ public final class MavenGav {
a = "camel-" + a;
}
answer.setArtifactId(a);
- if (context != null) {
- answer.setVersion(context.getVersion());
+ if (defaultVersion != null) {
+ answer.setVersion(defaultVersion);
}
} else if (gav.startsWith("camel-") && !(gav.contains(":") || gav.contains("/"))) {
// not really camel-k style but users may mistakenly use camel-file instead of camel:file
@@ -56,8 +60,8 @@ public final class MavenGav {
a = "camel-" + a.substring(14);
}
answer.setArtifactId(a);
- if (context != null) {
- answer.setVersion(context.getVersion());
+ if (defaultVersion != null) {
+ answer.setVersion(defaultVersion);
}
} else if (gav.startsWith("org.apache.camel:")) {
String[] parts = gav.split(":");
@@ -69,8 +73,8 @@ public final class MavenGav {
}
if (parts.length > 2) {
answer.setVersion(parts[2]);
- } else if (context != null) {
- answer.setVersion(context.getVersion());
+ } else if (defaultVersion != null) {
+ answer.setVersion(defaultVersion);
}
} else {
String[] parts = gav.startsWith("mvn:") ? gav.substring(4).split(":") : gav.split(":");
diff --git a/dsl/camel-kamelet-main/src/test/java/org/apache/camel/main/MavenGavTest.java b/dsl/camel-kamelet-main/src/test/java/org/apache/camel/main/MavenGavTest.java
index 6bc7d79edaa..e642dc26202 100644
--- a/dsl/camel-kamelet-main/src/test/java/org/apache/camel/main/MavenGavTest.java
+++ b/dsl/camel-kamelet-main/src/test/java/org/apache/camel/main/MavenGavTest.java
@@ -20,28 +20,31 @@ import org.apache.camel.main.download.MavenGav;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
class MavenGavTest {
@Test
void parseCoreGav() {
- MavenGav gav = MavenGav.parseGav(null, "camel:core");
+ MavenGav gav = MavenGav.parseGav("camel:core", "3.16.0");
assertEquals("org.apache.camel", gav.getGroupId());
assertEquals("camel-core", gav.getArtifactId());
+ assertEquals("3.16.0", gav.getVersion());
}
@Test
void parseCamelCoreGav() {
- MavenGav gav = MavenGav.parseGav(null, "camel:camel-core");
+ MavenGav gav = MavenGav.parseGav("camel:camel-core");
assertEquals("org.apache.camel", gav.getGroupId());
assertEquals("camel-core", gav.getArtifactId());
+ assertNull(gav.getVersion());
}
@Test
void parseOtherGav() {
- MavenGav gav = MavenGav.parseGav(null, "mvn:org.junit:junit-api:99.99");
+ MavenGav gav = MavenGav.parseGav("mvn:org.junit:junit-api:99.99");
assertEquals("org.junit", gav.getGroupId());
assertEquals("junit-api", gav.getArtifactId());