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/03/02 12:25:22 UTC
[camel] branch main updated: CAMEL-17734: camel-jbang - Fix download JARs to work with kamelets and better in general using version in match for CP
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 4ecad08 CAMEL-17734: camel-jbang - Fix download JARs to work with kamelets and better in general using version in match for CP
4ecad08 is described below
commit 4ecad08eb66cb62759940f253de4d93ba80bc6b5
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Mar 2 13:23:40 2022 +0100
CAMEL-17734: camel-jbang - Fix download JARs to work with kamelets and better in general using version in match for CP
---
.../apache/camel/main/CommandLineDependencyDownloader.java | 2 +-
.../apache/camel/main/DependencyDownloaderClassResolver.java | 2 +-
.../camel/main/DependencyDownloaderComponentResolver.java | 2 +-
.../camel/main/DependencyDownloaderDataFormatResolver.java | 2 +-
.../camel/main/DependencyDownloaderLanguageResolver.java | 2 +-
.../main/DependencyDownloaderPropertyBindingListener.java | 2 +-
.../apache/camel/main/DependencyDownloaderRoutesLoader.java | 2 +-
.../org/apache/camel/main/DependencyDownloaderStrategy.java | 2 +-
.../src/main/java/org/apache/camel/main/DownloaderHelper.java | 11 ++++++++---
.../main/java/org/apache/camel/main/KameletYamlRoutes.java | 2 +-
10 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/CommandLineDependencyDownloader.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/CommandLineDependencyDownloader.java
index 4146d19..f6f4b82 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/CommandLineDependencyDownloader.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/CommandLineDependencyDownloader.java
@@ -70,7 +70,7 @@ public class CommandLineDependencyDownloader extends ServiceSupport implements C
private boolean isValidGav(String gav) {
MavenGav mg = MavenGav.parseGav(camelContext, gav);
- boolean exists = DownloaderHelper.alreadyOnClasspath(camelContext, mg.getArtifactId());
+ boolean exists = DownloaderHelper.alreadyOnClasspath(camelContext, 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/DependencyDownloaderClassResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderClassResolver.java
index fa1fe5e..2f73a8e 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderClassResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderClassResolver.java
@@ -42,7 +42,7 @@ final class DependencyDownloaderClassResolver extends DefaultClassResolver {
// okay maybe the class is from a known GAV that we can download first and then load the class
MavenGav gav = knownDependenciesResolver.mavenGavForClass(name);
if (gav != null) {
- if (!DownloaderHelper.alreadyOnClasspath(getCamelContext(), gav.getArtifactId())) {
+ if (!DownloaderHelper.alreadyOnClasspath(getCamelContext(), gav.getArtifactId(), gav.getVersion())) {
DownloaderHelper.downloadDependency(getCamelContext(), gav.getGroupId(), gav.getArtifactId(),
gav.getVersion());
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderComponentResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderComponentResolver.java
index 05dcc63..3f68108 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderComponentResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderComponentResolver.java
@@ -50,7 +50,7 @@ final class DependencyDownloaderComponentResolver extends DefaultComponentResolv
@Override
public Component resolveComponent(String name, CamelContext context) {
ComponentModel model = catalog.componentModel(name);
- if (model != null && !DownloaderHelper.alreadyOnClasspath(camelContext, model.getArtifactId())) {
+ if (model != null && !DownloaderHelper.alreadyOnClasspath(camelContext, model.getArtifactId(), model.getVersion())) {
DownloaderHelper.downloadDependency(camelContext, model.getGroupId(), model.getArtifactId(), model.getVersion());
}
Component answer = super.resolveComponent(name, context);
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderDataFormatResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderDataFormatResolver.java
index 5bed214..d520a25 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderDataFormatResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderDataFormatResolver.java
@@ -49,7 +49,7 @@ final class DependencyDownloaderDataFormatResolver extends DefaultDataFormatReso
@Override
public DataFormat createDataFormat(String name, CamelContext context) {
DataFormatModel model = catalog.dataFormatModel(name);
- if (model != null && !DownloaderHelper.alreadyOnClasspath(camelContext, model.getArtifactId())) {
+ if (model != null && !DownloaderHelper.alreadyOnClasspath(camelContext, model.getArtifactId(), model.getVersion())) {
DownloaderHelper.downloadDependency(camelContext, model.getGroupId(), model.getArtifactId(), model.getVersion());
}
return super.createDataFormat(name, context);
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderLanguageResolver.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderLanguageResolver.java
index c7164f7..38de22c 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderLanguageResolver.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderLanguageResolver.java
@@ -49,7 +49,7 @@ final class DependencyDownloaderLanguageResolver extends DefaultLanguageResolver
@Override
public Language resolveLanguage(String name, CamelContext context) {
LanguageModel model = catalog.languageModel(name);
- if (model != null && !DownloaderHelper.alreadyOnClasspath(camelContext, model.getArtifactId())) {
+ if (model != null && !DownloaderHelper.alreadyOnClasspath(camelContext, model.getArtifactId(), model.getVersion())) {
DownloaderHelper.downloadDependency(camelContext, model.getGroupId(), model.getArtifactId(), model.getVersion());
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderPropertyBindingListener.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderPropertyBindingListener.java
index 627480b..974b85a 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderPropertyBindingListener.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderPropertyBindingListener.java
@@ -36,7 +36,7 @@ class DependencyDownloaderPropertyBindingListener implements PropertyBindingList
String s = (String) value;
MavenGav gav = knownDependenciesResolver.mavenGavForClass(s);
if (gav != null) {
- if (!DownloaderHelper.alreadyOnClasspath(camelContext, gav.getArtifactId())) {
+ if (!DownloaderHelper.alreadyOnClasspath(camelContext, gav.getArtifactId(), gav.getVersion())) {
DownloaderHelper.downloadDependency(camelContext, gav.getGroupId(), gav.getArtifactId(),
gav.getVersion());
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderRoutesLoader.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderRoutesLoader.java
index 30503d2..edd76ae 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderRoutesLoader.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderRoutesLoader.java
@@ -78,7 +78,7 @@ public class DependencyDownloaderRoutesLoader extends DefaultRoutesLoader {
}
private void downloadLoader(String artifactId) {
- if (!DownloaderHelper.alreadyOnClasspath(getCamelContext(), artifactId)) {
+ if (!DownloaderHelper.alreadyOnClasspath(getCamelContext(), artifactId, getCamelContext().getVersion())) {
DownloaderHelper.downloadDependency(getCamelContext(), "org.apache.camel", artifactId,
getCamelContext().getVersion());
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderStrategy.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderStrategy.java
index 20804dd..44fc10f 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderStrategy.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DependencyDownloaderStrategy.java
@@ -30,7 +30,7 @@ class DependencyDownloaderStrategy implements DependencyStrategy {
@Override
public void onDependency(String dependency) {
MavenGav gav = MavenGav.parseGav(camelContext, dependency);
- if (!DownloaderHelper.alreadyOnClasspath(camelContext, gav.getArtifactId())) {
+ if (!DownloaderHelper.alreadyOnClasspath(camelContext, gav.getArtifactId(), gav.getVersion())) {
DownloaderHelper.downloadDependency(camelContext, gav.getGroupId(), gav.getArtifactId(),
gav.getVersion());
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DownloaderHelper.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DownloaderHelper.java
index 5b3f81e..29ac044 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DownloaderHelper.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/DownloaderHelper.java
@@ -51,15 +51,20 @@ public final class DownloaderHelper {
TimeUtils.printDuration(watch.taken()));
}
- public static boolean alreadyOnClasspath(CamelContext camelContext, String artifactId) {
+ public static boolean alreadyOnClasspath(CamelContext camelContext, String artifactId, String version) {
// if no artifact then regard this as okay
if (artifactId == null) {
return true;
}
+ String target = artifactId;
+ if (version != null) {
+ target = target + "-" + version;
+ }
+
if (CP != null) {
// is it already on classpath
- if (CP.contains(artifactId)) {
+ if (CP.contains(target)) {
// already on classpath
return true;
}
@@ -71,7 +76,7 @@ public final class DownloaderHelper {
URLClassLoader ucl = (URLClassLoader) cl;
for (URL u : ucl.getURLs()) {
String s = u.toString();
- if (s.contains(artifactId)) {
+ if (s.contains(target)) {
// already on classpath
return true;
}
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletYamlRoutes.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletYamlRoutes.java
index 3417993..a57422c 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletYamlRoutes.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletYamlRoutes.java
@@ -122,7 +122,7 @@ class KameletYamlRoutes extends YamlRoutesBuilderLoaderSupport implements CamelC
}
MavenGav mg = MavenGav.parseGav(camelContext, gav);
- boolean exists = DownloaderHelper.alreadyOnClasspath(camelContext, mg.getArtifactId());
+ boolean exists = DownloaderHelper.alreadyOnClasspath(camelContext, mg.getArtifactId(), mg.getVersion());
// valid if not already on classpath
return !exists;
}