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/08/24 09:25:59 UTC
[camel] branch camel-3.18.x updated: CAMEL-18424: camel-jbang - Dependency downloaded issue with camel-aws-s3
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-3.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.18.x by this push:
new da5aacd839e CAMEL-18424: camel-jbang - Dependency downloaded issue with camel-aws-s3
da5aacd839e is described below
commit da5aacd839e39960db48b0a4599025164bd1e8ba
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Aug 24 11:23:26 2022 +0200
CAMEL-18424: camel-jbang - Dependency downloaded issue with camel-aws-s3
---
.../camel/main/download/MavenDependencyDownloader.java | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java
index 853cb5e1db4..130660862d8 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java
@@ -32,6 +32,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.support.service.ServiceHelper;
import org.apache.camel.support.service.ServiceSupport;
+import org.apache.camel.util.FileUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -238,17 +239,23 @@ public class MavenDependencyDownloader extends ServiceSupport implements Depende
ClassLoader cl = camelContext.getApplicationContextClassLoader();
if (cl instanceof URLClassLoader) {
URLClassLoader ucl = (URLClassLoader) cl;
+ // create path like target to match against the file url
+ String urlTarget = groupId + "/" + artifactId;
+ urlTarget = urlTarget.replace('.', '/');
+ urlTarget += "/" + version + "/" + target + ".jar";
+ urlTarget = FileUtil.normalizePath(urlTarget); // windows vs linux
for (URL u : ucl.getURLs()) {
String s = u.toString();
- if (s.contains(target)) {
+ s = FileUtil.normalizePath(s);
+ if (s.contains(urlTarget)) {
// trigger listener
if (listener) {
for (DownloadListener dl : downloadListeners) {
dl.onDownloadDependency(groupId, artifactId, version);
}
+ // already on classpath
+ return true;
}
- // already on classpath
- return true;
}
}
}