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 17:46:09 UTC

(camel) branch offline created (now d9a98cacf6b)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch offline
in repository https://gitbox.apache.org/repos/asf/camel.git


      at d9a98cacf6b CAMEL-20173: camel-jbang - Run with download=false should set maven in offline mode.

This branch includes the following new commits:

     new d9a98cacf6b CAMEL-20173: camel-jbang - Run with download=false should set maven in offline mode.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(camel) 01/01: CAMEL-20173: camel-jbang - Run with download=false should set maven in offline mode.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch offline
in repository https://gitbox.apache.org/repos/asf/camel.git

commit d9a98cacf6b1d0ef9c97021c53d1686ff0163a0f
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Dec 1 18:43:08 2023 +0100

    CAMEL-20173: camel-jbang - Run with download=false should set maven in offline mode.
---
 .../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);