in tooling/common/src/main/java/org/apache/karaf/minho/tooling/common/maven/Parser.java [721:781]
private static DefaultArtifactResolver getArtifactResolver(RepositorySystemSession repositorySystemSession,
LocalRepositoryProvider localRepositoryProvider,
List<RemoteRepository> remoteRepositories) throws Exception {
DefaultArtifactResolver artifactResolver = new DefaultArtifactResolver();
DefaultSyncContextFactory syncContextFactory = new DefaultSyncContextFactory();
DefaultRepositoryEventDispatcher repositoryEventDispatcher = new DefaultRepositoryEventDispatcher();
DefaultVersionResolver versionResolver = new DefaultVersionResolver();
DefaultMetadataResolver metadataResolver = new DefaultMetadataResolver();
metadataResolver.setSyncContextFactory(syncContextFactory);
metadataResolver.setRepositoryEventDispatcher(repositoryEventDispatcher);
versionResolver.setMetadataResolver(metadataResolver);
versionResolver.setSyncContextFactory(syncContextFactory);
versionResolver.setRepositoryEventDispatcher(repositoryEventDispatcher);
DefaultRepositorySystem repositorySystem = new DefaultRepositorySystem();
repositorySystem.setLocalRepositoryProvider(localRepositoryProvider);
repositorySystem.setVersionResolver(versionResolver);
DefaultRemoteRepositoryManager remoteRepositoryManager = new DefaultRemoteRepositoryManager();
metadataResolver.setRemoteRepositoryManager(remoteRepositoryManager);
DefaultUpdateCheckManager updateCheckManager = new DefaultUpdateCheckManager();
updateCheckManager.setUpdatePolicyAnalyzer(new DefaultUpdatePolicyAnalyzer());
metadataResolver.setUpdateCheckManager(updateCheckManager);
remoteRepositoryManager.aggregateRepositories(repositorySystemSession, remoteRepositories, new ArrayList<>(), false);
remoteRepositoryManager.setChecksumPolicyProvider(new DefaultChecksumPolicyProvider());
remoteRepositoryManager.setUpdatePolicyAnalyzer(new DefaultUpdatePolicyAnalyzer());
repositorySystem.setRemoteRepositoryManager(remoteRepositoryManager);
DefaultVersionRangeResolver versionRangeResolver = new DefaultVersionRangeResolver();
versionRangeResolver.setMetadataResolver(metadataResolver);
versionRangeResolver.setSyncContextFactory(syncContextFactory);
versionRangeResolver.setRepositoryEventDispatcher(repositoryEventDispatcher);
artifactResolver.setVersionResolver(versionResolver);
artifactResolver.setSyncContextFactory(syncContextFactory);
artifactResolver.setRepositoryEventDispatcher(repositoryEventDispatcher);
DefaultRepositoryConnectorProvider repositoryConnectorProvider = new DefaultRepositoryConnectorProvider();
BasicRepositoryConnectorFactory repositoryConnectorFactory = new BasicRepositoryConnectorFactory();
DefaultRepositoryLayoutProvider repositoryLayoutProvider = new DefaultRepositoryLayoutProvider();
repositoryLayoutProvider.setRepositoryLayoutFactories(Collections.singletonList(new Maven2RepositoryLayoutFactory()));
DefaultTransporterProvider transporterProvider = new DefaultTransporterProvider();
transporterProvider.addTransporterFactory(new HttpTransporterFactory());
repositoryConnectorFactory.setRepositoryLayoutProvider(repositoryLayoutProvider);
repositoryConnectorFactory.setTransporterProvider(transporterProvider);
repositoryConnectorFactory.setFileProcessor(new DefaultFileProcessor());
repositoryConnectorFactory.setChecksumPolicyProvider(new DefaultChecksumPolicyProvider());
repositoryConnectorProvider.addRepositoryConnectorFactory(repositoryConnectorFactory);
artifactResolver.setRepositoryConnectorProvider(repositoryConnectorProvider);
artifactResolver.setRemoteRepositoryManager(remoteRepositoryManager);
metadataResolver.setRepositoryConnectorProvider(repositoryConnectorProvider);
repositorySystem.setVersionRangeResolver(versionRangeResolver);
repositorySystem.setArtifactResolver(artifactResolver);
return artifactResolver;
}