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 2023/12/01 18:07:45 UTC
(camel) branch main updated: CAMEL-20173: camel-jbang - Run with download=false should set maven in offline mode. (#12293)
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 0fa1294b2e5 CAMEL-20173: camel-jbang - Run with download=false should set maven in offline mode. (#12293)
0fa1294b2e5 is described below
commit 0fa1294b2e5919e36577366d68032aba723122c9
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Dec 1 19:07:37 2023 +0100
CAMEL-20173: camel-jbang - Run with download=false should set maven in offline mode. (#12293)
---
.../java/org/apache/camel/main/KameletMain.java | 172 ++++++++++-----------
.../main/console/DependencyDownloaderConsole.java | 27 +++-
.../camel/main/download/DependencyDownloader.java | 10 ++
.../main/download/MavenDependencyDownloader.java | 10 ++
.../camel/tooling/maven/MavenDownloader.java | 30 ++++
.../camel/tooling/maven/MavenDownloaderImpl.java | 81 +++-------
.../camel/tooling/maven/MavenResolverTest.java | 2 +-
7 files changed, 171 insertions(+), 161 deletions(-)
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
index b893cdd603d..7effdfae500 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
@@ -355,40 +355,41 @@ public class KameletMain extends MainCommandLineSupport {
DefaultCamelContext answer = new DefaultCamelContext(false);
// setup backlog recorder from very start
answer.getCamelContextExtension().setStartupStepRecorder(new BacklogStartupStepRecorder());
- if (download) {
- ClassLoader dynamicCL = createApplicationContextClassLoader(answer);
- answer.setApplicationContextClassLoader(dynamicCL);
- PluginHelper.getPackageScanClassResolver(answer).addClassLoader(dynamicCL);
- PluginHelper.getPackageScanResourceResolver(answer).addClassLoader(dynamicCL);
-
- KnownReposResolver known = new KnownReposResolver();
- known.loadKnownDependencies();
- MavenDependencyDownloader downloader = new MavenDependencyDownloader();
- downloader.setKnownReposResolver(known);
- downloader.setClassLoader(dynamicCL);
- downloader.setCamelContext(answer);
- downloader.setVerbose(verbose);
- downloader.setRepos(repos);
- downloader.setFresh(fresh);
- downloader.setMavenSettings(mavenSettings);
- downloader.setMavenSettingsSecurity(mavenSettingsSecurity);
- if (downloadListener != null) {
- downloader.addDownloadListener(downloadListener);
- }
- downloader.addDownloadListener(new AutoConfigureDownloadListener());
- downloader.addArtifactDownloadListener(new TypeConverterLoaderDownloadListener());
- downloader.addArtifactDownloadListener(new BasePackageScanDownloadListener());
- // register as extension
- try {
- answer.addService(downloader);
- } catch (Exception e) {
- throw RuntimeCamelException.wrapRuntimeException(e);
- }
+ ClassLoader dynamicCL = createApplicationContextClassLoader(answer);
+ answer.setApplicationContextClassLoader(dynamicCL);
+ PluginHelper.getPackageScanClassResolver(answer).addClassLoader(dynamicCL);
+ PluginHelper.getPackageScanResourceResolver(answer).addClassLoader(dynamicCL);
+
+ KnownReposResolver knownRepos = new KnownReposResolver();
+ knownRepos.loadKnownDependencies();
+ MavenDependencyDownloader downloader = new MavenDependencyDownloader();
+ downloader.setDownload(download);
+ downloader.setKnownReposResolver(knownRepos);
+ downloader.setClassLoader(dynamicCL);
+ downloader.setCamelContext(answer);
+ downloader.setVerbose(verbose);
+ downloader.setRepos(repos);
+ downloader.setFresh(fresh);
+ downloader.setMavenSettings(mavenSettings);
+ downloader.setMavenSettingsSecurity(mavenSettingsSecurity);
+ if (downloadListener != null) {
+ downloader.addDownloadListener(downloadListener);
+ }
+ downloader.addDownloadListener(new AutoConfigureDownloadListener());
+ downloader.addArtifactDownloadListener(new TypeConverterLoaderDownloadListener());
+ downloader.addArtifactDownloadListener(new BasePackageScanDownloadListener());
- // in case we use circuit breakers
- CircuitBreakerDownloader.registerDownloadReifiers();
+ // register as extension
+ try {
+ answer.addService(downloader);
+ } catch (Exception e) {
+ throw RuntimeCamelException.wrapRuntimeException(e);
}
+
+ // in case we use circuit breakers
+ CircuitBreakerDownloader.registerDownloadReifiers();
+
if (silent || "*".equals(stubPattern)) {
// turn off auto-wiring when running in silent mode (or stub = *)
mainConfigurationProperties.setAutowiredEnabled(false);
@@ -521,48 +522,45 @@ public class KameletMain extends MainCommandLineSupport {
answer.addService(new CommandLineDependencyDownloader(answer, dependencies.toString()));
}
- KnownDependenciesResolver known = new KnownDependenciesResolver(answer);
- known.loadKnownDependencies();
- if (download) {
- DependencyDownloaderPropertyBindingListener listener
- = new DependencyDownloaderPropertyBindingListener(answer, known);
- answer.getCamelContextExtension().getRegistry()
- .bind(DependencyDownloaderPropertyBindingListener.class.getSimpleName(), listener);
- answer.getCamelContextExtension().getRegistry().bind(DependencyDownloaderStrategy.class.getSimpleName(),
- new DependencyDownloaderStrategy(answer));
-
- // download class-resolver
- ClassResolver classResolver = new DependencyDownloaderClassResolver(answer, known);
- answer.setClassResolver(classResolver);
- // re-create factory finder with download class-resolver
- FactoryFinderResolver ffr = PluginHelper.getFactoryFinderResolver(answer);
- FactoryFinder ff = ffr.resolveBootstrapFactoryFinder(classResolver);
- answer.getCamelContextExtension().setBootstrapFactoryFinder(ff);
- ff = ffr.resolveDefaultFactoryFinder(classResolver);
- answer.getCamelContextExtension().setDefaultFactoryFinder(ff);
-
- answer.getCamelContextExtension().addContextPlugin(ComponentResolver.class,
- new DependencyDownloaderComponentResolver(answer, stubPattern, silent));
- answer.getCamelContextExtension().addContextPlugin(UriFactoryResolver.class,
- new DependencyDownloaderUriFactoryResolver(answer));
- answer.getCamelContextExtension().addContextPlugin(DataFormatResolver.class,
- new DependencyDownloaderDataFormatResolver(answer));
- answer.getCamelContextExtension().addContextPlugin(LanguageResolver.class,
- new DependencyDownloaderLanguageResolver(answer));
- answer.getCamelContextExtension().addContextPlugin(ResourceLoader.class,
- new DependencyDownloaderResourceLoader(answer));
- }
+ KnownDependenciesResolver knownDeps = new KnownDependenciesResolver(answer);
+ knownDeps.loadKnownDependencies();
+ DependencyDownloaderPropertyBindingListener listener
+ = new DependencyDownloaderPropertyBindingListener(answer, knownDeps);
+ answer.getCamelContextExtension().getRegistry()
+ .bind(DependencyDownloaderPropertyBindingListener.class.getSimpleName(), listener);
+ answer.getCamelContextExtension().getRegistry().bind(DependencyDownloaderStrategy.class.getSimpleName(),
+ new DependencyDownloaderStrategy(answer));
+
+ // download class-resolver
+ ClassResolver classResolver = new DependencyDownloaderClassResolver(answer, knownDeps);
+ answer.setClassResolver(classResolver);
+ // re-create factory finder with download class-resolver
+ FactoryFinderResolver ffr = PluginHelper.getFactoryFinderResolver(answer);
+ FactoryFinder ff = ffr.resolveBootstrapFactoryFinder(classResolver);
+ answer.getCamelContextExtension().setBootstrapFactoryFinder(ff);
+ ff = ffr.resolveDefaultFactoryFinder(classResolver);
+ answer.getCamelContextExtension().setDefaultFactoryFinder(ff);
+
+ answer.getCamelContextExtension().addContextPlugin(ComponentResolver.class,
+ new DependencyDownloaderComponentResolver(answer, stubPattern, silent));
+ answer.getCamelContextExtension().addContextPlugin(UriFactoryResolver.class,
+ new DependencyDownloaderUriFactoryResolver(answer));
+ answer.getCamelContextExtension().addContextPlugin(DataFormatResolver.class,
+ new DependencyDownloaderDataFormatResolver(answer));
+ answer.getCamelContextExtension().addContextPlugin(LanguageResolver.class,
+ new DependencyDownloaderLanguageResolver(answer));
+ answer.getCamelContextExtension().addContextPlugin(ResourceLoader.class,
+ new DependencyDownloaderResourceLoader(answer));
+
answer.setInjector(new KameletMainInjector(answer.getInjector(), stubPattern, silent));
- if (download) {
- Object kameletsVersion = getInitialProperties().get("camel.jbang.kameletsVersion");
- if (kameletsVersion != null) {
- answer.addService(new DependencyDownloaderKamelet(answer, kameletsVersion.toString()));
- } else {
- answer.addService(new DependencyDownloaderKamelet(answer));
- }
- answer.getCamelContextExtension().getRegistry().bind(DownloadModelineParser.class.getSimpleName(),
- new DownloadModelineParser(answer));
+ Object kameletsVersion = getInitialProperties().get("camel.jbang.kameletsVersion");
+ if (kameletsVersion != null) {
+ answer.addService(new DependencyDownloaderKamelet(answer, kameletsVersion.toString()));
+ } else {
+ answer.addService(new DependencyDownloaderKamelet(answer));
}
+ answer.getCamelContextExtension().getRegistry().bind(DownloadModelineParser.class.getSimpleName(),
+ new DownloadModelineParser(answer));
// reloader
String sourceDir = getInitialProperties().getProperty("camel.jbang.sourceDir");
@@ -609,12 +607,9 @@ public class KameletMain extends MainCommandLineSupport {
protected void configurePropertiesService(CamelContext camelContext) throws Exception {
super.configurePropertiesService(camelContext);
- // properties functions, which can download
- if (download) {
- org.apache.camel.component.properties.PropertiesComponent pc
- = (org.apache.camel.component.properties.PropertiesComponent) camelContext.getPropertiesComponent();
- pc.setPropertiesFunctionResolver(new DependencyDownloaderPropertiesFunctionResolver(camelContext));
- }
+ org.apache.camel.component.properties.PropertiesComponent pc
+ = (org.apache.camel.component.properties.PropertiesComponent) camelContext.getPropertiesComponent();
+ pc.setPropertiesFunctionResolver(new DependencyDownloaderPropertiesFunctionResolver(camelContext));
}
@Override
@@ -692,22 +687,17 @@ public class KameletMain extends MainCommandLineSupport {
cs.setWorkDir(dir);
}
- if (download) {
- DependencyDownloaderRoutesLoader routesLoader;
-
- Object kameletsVersion = getInitialProperties().get("camel.jbang.kameletsVersion");
- if (kameletsVersion != null) {
- routesLoader = new DependencyDownloaderRoutesLoader(camelContext, kameletsVersion.toString());
- } else {
- routesLoader = new DependencyDownloaderRoutesLoader(camelContext);
- }
- routesLoader.setIgnoreLoadingError(this.mainConfigurationProperties.isRoutesCollectorIgnoreLoadingError());
-
- // use resolvers that can auto downloaded
- ecc.addContextPlugin(RoutesLoader.class, routesLoader);
+ DependencyDownloaderRoutesLoader routesLoader;
+ Object kameletsVersion = getInitialProperties().get("camel.jbang.kameletsVersion");
+ if (kameletsVersion != null) {
+ routesLoader = new DependencyDownloaderRoutesLoader(camelContext, kameletsVersion.toString());
} else {
- super.configureRoutesLoader(camelContext);
+ routesLoader = new DependencyDownloaderRoutesLoader(camelContext);
}
+ routesLoader.setIgnoreLoadingError(this.mainConfigurationProperties.isRoutesCollectorIgnoreLoadingError());
+
+ // use resolvers that can auto downloaded
+ ecc.addContextPlugin(RoutesLoader.class, routesLoader);
}
/**
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/console/DependencyDownloaderConsole.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/console/DependencyDownloaderConsole.java
index 76b5387d816..3bae763696a 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/console/DependencyDownloaderConsole.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/console/DependencyDownloaderConsole.java
@@ -39,16 +39,15 @@ public class DependencyDownloaderConsole extends AbstractDevConsole {
protected String doCallText(Map<String, Object> options) {
StringBuilder sb = new StringBuilder();
- ClassLoader cl = getCamelContext().getApplicationContextClassLoader();
- if (cl instanceof DependencyDownloaderClassLoader) {
- DependencyDownloaderClassLoader ddcl = (DependencyDownloaderClassLoader) cl;
- sb.append("Dependencies:");
- String cp = String.join("\n ", ddcl.getDownloaded());
- sb.append("\n ").append(cp).append("\n");
- }
-
MavenDependencyDownloader downloader = getCamelContext().hasService(MavenDependencyDownloader.class);
if (downloader != null) {
+ sb.append("Offline: " + !downloader.isDownload());
+ sb.append("\nFresh: " + !downloader.isFresh());
+ sb.append("\nVerbose: " + !downloader.isVerbose());
+ if (downloader.getRepos() != null) {
+ sb.append("\nExtra Repositories: " + downloader.getRepos());
+ }
+ sb.append("\n");
sb.append("\nDownloads:");
for (DownloadRecord r : downloader.downloadRecords()) {
sb.append("\n ").append(String.format("%s:%s:%s (took: %s) from: %s@%s",
@@ -57,6 +56,14 @@ public class DependencyDownloaderConsole extends AbstractDevConsole {
}
}
+ ClassLoader cl = getCamelContext().getApplicationContextClassLoader();
+ if (cl instanceof DependencyDownloaderClassLoader) {
+ DependencyDownloaderClassLoader ddcl = (DependencyDownloaderClassLoader) cl;
+ sb.append("\n\nDependencies:");
+ String cp = String.join("\n ", ddcl.getDownloaded());
+ sb.append("\n ").append(cp).append("\n");
+ }
+
return sb.toString();
}
@@ -74,6 +81,10 @@ public class DependencyDownloaderConsole extends AbstractDevConsole {
MavenDependencyDownloader downloader = getCamelContext().hasService(MavenDependencyDownloader.class);
if (downloader != null) {
JsonArray arr = new JsonArray();
+ root.put("offline", !downloader.isDownload());
+ root.put("fresh", downloader.isFresh());
+ root.put("verbose", downloader.isVerbose());
+ root.put("repos", downloader.getRepos());
root.put("downloads", arr);
for (DownloadRecord r : downloader.downloadRecords()) {
JsonObject jo = new JsonObject();
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloader.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloader.java
index 15bbef3c70f..ad29b641e9c 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloader.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloader.java
@@ -55,6 +55,16 @@ public interface DependencyDownloader extends CamelContextAware, StaticService {
*/
void setRepos(String repos);
+ /**
+ * Whether downloading from remote Maven repositories is enabled
+ */
+ void setDownload(boolean download);
+
+ /**
+ * Whether downloading from remote Maven repositories is enabled
+ */
+ boolean isDownload();
+
boolean isFresh();
/**
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 56cf704901b..3a7ee1a30f6 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
@@ -70,6 +70,7 @@ public class MavenDependencyDownloader extends ServiceSupport implements Depende
private final Set<ArtifactDownloadListener> artifactDownloadListeners = new LinkedHashSet<>();
private final Map<String, DownloadRecord> downloadRecords = new HashMap<>();
private KnownReposResolver knownReposResolver;
+ private boolean download = true;
// all maven-resolver work is delegated to camel-tooling-maven
private MavenDownloader mavenDownloader;
@@ -148,6 +149,14 @@ public class MavenDependencyDownloader extends ServiceSupport implements Depende
this.fresh = fresh;
}
+ public boolean isDownload() {
+ return download;
+ }
+
+ public void setDownload(boolean download) {
+ this.download = download;
+ }
+
@Override
public String getMavenSettings() {
return mavenSettings;
@@ -463,6 +472,7 @@ public class MavenDependencyDownloader extends ServiceSupport implements Depende
mavenDownloaderImpl.setMavenSettingsSecurityLocation(mavenSettingsSecurity);
mavenDownloaderImpl.setRepos(repos);
mavenDownloaderImpl.setFresh(fresh);
+ mavenDownloaderImpl.setOffline(!download);
// use listener to keep track of which JARs was downloaded from a remote Maven repo (and how long time it took)
mavenDownloaderImpl.setRemoteArtifactDownloadListener(new RemoteArtifactDownloadListener() {
@Override
diff --git a/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloader.java b/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloader.java
index 1d9def72135..6e53ed3e6c2 100644
--- a/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloader.java
+++ b/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloader.java
@@ -61,4 +61,34 @@ public interface MavenDownloader {
*/
void setRemoteArtifactDownloadListener(RemoteArtifactDownloadListener listener);
+ /**
+ * Set a flag determining Maven update behavior. See the description of {@code -U,--update-snapshots} Maven option.
+ * When set to {@code true}, Maven metadata (to determine newest SNAPSHOT or RELEASE or LATEST version) is always
+ * fetched.
+ */
+ void setFresh(boolean fresh);
+
+ /**
+ * Sets maven downloader in offline mode
+ */
+ void setOffline(boolean offline);
+
+ /**
+ * Configure comma-separated list of repositories to use (in addition to the ones discovered from Maven settings).
+ */
+ void setRepos(String repos);
+
+ /**
+ * Configure a location of {@code settings-security.xml} (when not set, defaults to
+ * {@code ~/.m2/settings-security.xml} unless {@link #setMavenSettingsLocation(String)} is set explicitly set to
+ * {@code "false"}.
+ */
+ void setMavenSettingsSecurityLocation(String mavenSettingsSecurity);
+
+ /**
+ * Configure a location of {@code settings.xml} (when not set, defaults to {@code ~/.m2/settings.xml} unless it's
+ * explicitly set to {@code "false"}.
+ */
+ void setMavenSettingsLocation(String mavenSettings);
+
}
diff --git a/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java b/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
index 6020b4ce665..dd2c4d6c322 100644
--- a/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
+++ b/tooling/camel-tooling-maven/src/main/java/org/apache/camel/tooling/maven/MavenDownloaderImpl.java
@@ -260,6 +260,7 @@ public class MavenDownloaderImpl extends ServiceSupport implements MavenDownload
// comma-separated list of additional repositories to use
private String repos;
private boolean fresh;
+ private boolean offline;
private RemoteArtifactDownloadListener remoteArtifactDownloadListener;
private boolean apacheSnapshotsIncluded;
@@ -301,12 +302,16 @@ public class MavenDownloaderImpl extends ServiceSupport implements MavenDownload
// locations of settings.xml and settings-security.xml
validateMavenSettingsLocations();
if (repositorySystem == null) {
- repositorySystem = configureRepositorySystem(registry, systemProperties, mavenSettingsSecurity);
+ repositorySystem = configureRepositorySystem(registry, systemProperties, mavenSettingsSecurity, offline);
}
// read the settings if not provided
Settings settings = this.settings == null
? mavenConfiguration(registry, repositorySystem, systemProperties, mavenSettings) : this.settings;
+ if (offline) {
+ LOG.info("MavenDownloader in offline mode");
+ settings.setOffline(true);
+ }
if (repositorySystemSession == null) {
// prepare the Maven session (local repository was configured within the settings)
@@ -540,6 +545,7 @@ public class MavenDownloaderImpl extends ServiceSupport implements MavenDownload
copy.apacheSnapshotsIncluded = apacheSnapshotsIncluded;
copy.customRepositoryCounter = customRepositoryCounter;
copy.repositoryResolver = repositoryResolver;
+ copy.offline = offline;
LocalRepositoryManagerFactory lrmFactory = registry.lookupByClass(LocalRepositoryManagerFactory.class);
@@ -608,7 +614,7 @@ public class MavenDownloaderImpl extends ServiceSupport implements MavenDownload
*/
RepositorySystem configureRepositorySystem(
DIRegistry registry,
- Properties systemProperties, String settingsSecurityLocation) {
+ Properties systemProperties, String settingsSecurityLocation, boolean offline) {
basicRepositorySystemConfiguration(registry);
transportConfiguration(registry, systemProperties);
settingsConfiguration(registry, settingsSecurityLocation);
@@ -1129,7 +1135,7 @@ public class MavenDownloaderImpl extends ServiceSupport implements MavenDownload
// to associate authentications with remote repositories (also mirrored)
session.setAuthenticationSelector(authenticationSelector);
// offline mode selected using for example `camel run --download` option - should be online by default
- session.setOffline(false);
+ session.setOffline(offline);
// controls whether repositories declared in artifact descriptors should be ignored during transitive
// dependency collection
session.setIgnoreArtifactDescriptorRepositories(true);
@@ -1161,8 +1167,6 @@ public class MavenDownloaderImpl extends ServiceSupport implements MavenDownload
* This method is used during initialization of this {@link MavenDownloader}, but when invoking actual
* download/resolve methods, we can use additional repositories.
* </p>
- *
- * @param settings maven settings
*/
List<RemoteRepository> configureDefaultRepositories(Settings settings) {
List<RemoteRepository> repositories = new ArrayList<>();
@@ -1241,7 +1245,7 @@ public class MavenDownloaderImpl extends ServiceSupport implements MavenDownload
}
}
} catch (MalformedURLException e) {
- LOG.warn("Can't use {} URL from Maven settings: {}. Skipping.", r.getUrl(), e.getMessage(), e);
+ LOG.warn("Cannot use {} URL from Maven settings: {}. Skipping.", r.getUrl(), e.getMessage(), e);
}
}
}
@@ -1253,9 +1257,6 @@ public class MavenDownloaderImpl extends ServiceSupport implements MavenDownload
* Helper method to translate a collection of Strings for remote repository URLs into actual instances of
* {@link RemoteRepository} added to the passed {@code repositories}. We don't detected duplicates here and we don't
* do mirror/proxy processing of the repositories.
- *
- * @param repositories
- * @param urls
*/
private void configureRepositories(List<RemoteRepository> repositories, Set<String> urls) {
urls.forEach(repo -> {
@@ -1278,82 +1279,40 @@ public class MavenDownloaderImpl extends ServiceSupport implements MavenDownload
.build());
}
} catch (MalformedURLException e) {
- LOG.warn("Can't use {} URL: {}. Skipping.", repo, e.getMessage(), e);
+ LOG.warn("Cannot use {} URL: {}. Skipping.", repo, e.getMessage(), e);
}
});
}
- /**
- * Configure a location of {@code settings.xml} (when not set, defaults to {@code ~/.m2/settings.xml} unless it's
- * explicitly set to {@code "false"}.
- *
- * @param mavenSettings
- */
+ @Override
public void setMavenSettingsLocation(String mavenSettings) {
this.mavenSettings = mavenSettings;
}
- /**
- * Configure a location of {@code settings-security.xml} (when not set, defaults to
- * {@code ~/.m2/settings-security.xml} unless {@link #setMavenSettingsLocation(String)} is set explicitly set to
- * {@code "false"}.
- *
- * @param mavenSettingsSecurity
- */
+ @Override
public void setMavenSettingsSecurityLocation(String mavenSettingsSecurity) {
this.mavenSettingsSecurity = mavenSettingsSecurity;
}
- /**
- * Configure comma-separated list of repositories to use (in addition to the ones discovered from Maven settings).
- *
- * @param repos
- */
+ @Override
public void setRepos(String repos) {
this.repos = repos;
}
- /**
- * Set a flag determining Maven update behavior. See the description of {@code -U,--update-snapshots} Maven option.
- * When set to {@code true}, Maven metadata (to determine newest SNAPSHOT or RELEASE or LATEST version) is always
- * fetched.
- *
- * @param fresh
- */
+ @Override
public void setFresh(boolean fresh) {
this.fresh = fresh;
}
- private static class AcceptAllDependencyFilter implements DependencyFilter {
- @Override
- public boolean accept(DependencyNode node, List<DependencyNode> parents) {
- return true;
- }
+ @Override
+ public void setOffline(boolean offline) {
+ this.offline = offline;
}
- private static class AcceptDirectDependencyFilter implements DependencyFilter {
- private final List<ArtifactRequest> requests;
-
- public AcceptDirectDependencyFilter(List<ArtifactRequest> requests) {
- this.requests = requests;
- }
-
+ private static class AcceptAllDependencyFilter implements DependencyFilter {
@Override
public boolean accept(DependencyNode node, List<DependencyNode> parents) {
- Dependency dependency = node.getDependency();
- if (dependency == null) {
- return false;
- }
- Artifact current = dependency.getArtifact();
- for (ArtifactRequest ar : requests) {
- if (current.getGroupId().equals(ar.getArtifact().getGroupId())
- && current.getArtifactId().equals(ar.getArtifact().getArtifactId())
- && current.getExtension().equals(ar.getArtifact().getExtension())
- && current.getClassifier().equals(ar.getArtifact().getClassifier())) {
- return true;
- }
- }
- return false;
+ return true;
}
}
diff --git a/tooling/camel-tooling-maven/src/test/java/org/apache/camel/tooling/maven/MavenResolverTest.java b/tooling/camel-tooling-maven/src/test/java/org/apache/camel/tooling/maven/MavenResolverTest.java
index 7ce93bdbdcc..55e772b8f6e 100644
--- a/tooling/camel-tooling-maven/src/test/java/org/apache/camel/tooling/maven/MavenResolverTest.java
+++ b/tooling/camel-tooling-maven/src/test/java/org/apache/camel/tooling/maven/MavenResolverTest.java
@@ -201,7 +201,7 @@ public class MavenResolverTest {
// now, org.eclipse.aether.RepositorySystem can be obtained
RepositorySystem repositorySystem
- = downloader.configureRepositorySystem(registry, systemProperties, localSettingsSecurity);
+ = downloader.configureRepositorySystem(registry, systemProperties, localSettingsSecurity, false);
Settings settings = downloader.mavenConfiguration(registry, repositorySystem,
systemProperties, localSettings);