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 <claus.ib...@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);