private DefaultTeslaAether createTeslaAether(List<Repository> remoteRepositories) { if (!useProxy) { return new DefaultTeslaAether( localRepository, remoteRepositories.toArray(new Repository[0]) ); } if (!StringUtils.toLowerCase(proxyType).equals(Proxy.TYPE_HTTP) && !StringUtils.toLowerCase(proxyType).equals(Proxy.TYPE_HTTPS)) { throw new IllegalArgumentException("invalid proxy type: " + proxyType); } RepositorySystemSession repositorySystemSession = new RepositorySystemSessionProvider(new File(localRepository)).get(); List<RemoteRepository> rl = remoteRepositories.stream().map(r -> { RemoteRepository.Builder builder = new RemoteRepository.Builder(r.getId(), "default", r.getUrl()); if (r.getUsername() != null && r.getPassword() != null) { Authentication auth = new AuthenticationBuilder().addUsername(r.getUsername()).addPassword(r.getPassword()).build(); builder.setAuthentication(auth); } final Authentication proxyAuth; if (Strings.isNullOrEmpty(proxyUsername)) { proxyAuth = null; } else { proxyAuth = new AuthenticationBuilder().addUsername(proxyUsername).addPassword(proxyPassword).build(); } builder.setProxy(new Proxy(proxyType, proxyHost, proxyPort, proxyAuth)); return builder.build(); }).collect(Collectors.toList()); return new DefaultTeslaAether(rl, repositorySystemSession); }
private DefaultTeslaAether createTeslaAether(List<Repository> remoteRepositories) { if (!useProxy) { return new DefaultTeslaAether( localRepository, remoteRepositories.toArray(new Repository[0]) ); } if (!StringUtils.toLowerCase(proxyType).equals(Proxy.TYPE_HTTP) && !StringUtils.toLowerCase(proxyType).equals(Proxy.TYPE_HTTPS)) { throw new IllegalArgumentException("invalid proxy type: " + proxyType); } RepositorySystemSession repositorySystemSession = new RepositorySystemSessionProvider(new File(localRepository)).get(); List<RemoteRepository> rl = remoteRepositories.stream().map(r -> { RemoteRepository.Builder builder = new RemoteRepository.Builder(r.getId(), "default", r.getUrl()); if (r.getUsername() != null && r.getPassword() != null) { Authentication auth = new AuthenticationBuilder().addUsername(r.getUsername()).addPassword(r.getPassword()).build(); builder.setAuthentication(auth); } final Authentication proxyAuth; if (Strings.isNullOrEmpty(proxyUsername)) { proxyAuth = null; } else { proxyAuth = new AuthenticationBuilder().addUsername(proxyUsername).addPassword(proxyPassword).build(); } builder.setProxy(new Proxy(proxyType, proxyHost, proxyPort, proxyAuth)); return builder.build(); }).collect(Collectors.toList()); return new DefaultTeslaAether(rl, repositorySystemSession); }
private void init(File localRepository, List<Repository> repositories) { remoteRepositories = new ArrayList<RemoteRepository>(); for (Repository r : repositories) { RemoteRepository.Builder builder = new RemoteRepository.Builder(r.getId(), "default", r.getUrl()); if (r.getUsername() != null && r.getPassword() != null) { Authentication auth = new AuthenticationBuilder().addUsername(r.getUsername()).addPassword(r.getPassword()).build(); builder.setAuthentication(auth); } this.remoteRepositories.add(builder.build()); } DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator(); locator.addService(RepositoryConnectorFactory.class, FileRepositoryConnectorFactory.class); locator.addService(RepositoryConnectorFactory.class, AetherRepositoryConnectorFactory.class); locator.addService(FileProcessor.class, DefaultFileProcessor.class); this.system = locator.getService(RepositorySystem.class); this.session = new RepositorySystemSessionProvider(localRepository).get(); this.modelBuilder = new DefaultModelBuilderFactory().newInstance(); this.artifactResolver = locator.getService(ArtifactResolver.class); this.remoteRepositoryManager = locator.getService(RemoteRepositoryManager.class); }