List of usage examples for org.apache.maven.repository DefaultMirrorSelector DefaultMirrorSelector
DefaultMirrorSelector
From source file:com.redhat.rcm.offliner.PomArtifactListReader.java
License:Apache License
/** * Applies mirrors from the settings.xml on the {@code repositories}. Read mirrors replace the original repositories * in provided repository list.//from ww w. ja v a 2s. c o m * * @param settings settings.xml contents * @param repositories list of repositories read from pom */ private void processMirrors(final Settings settings, final List<Repository> repositories) { List<Mirror> mirrors = settings.getMirrors(); MirrorSelector mirrorSelector = new DefaultMirrorSelector(); DefaultRepositoryLayout layout = new DefaultRepositoryLayout(); for (Repository repository : new ArrayList<>(repositories)) { ArtifactRepository artRepository = new MavenArtifactRepository(); artRepository.setId(repository.getId()); // TODO read the layout from the original repository artRepository.setLayout(layout); Mirror mirror = mirrorSelector.getMirror(artRepository, mirrors); if (mirror != null) { Repository mirrorRepository = new Repository(); mirrorRepository.setId(mirror.getId()); mirrorRepository.setLayout(mirror.getLayout()); mirrorRepository.setReleases(repository.getReleases()); mirrorRepository.setSnapshots(repository.getSnapshots()); mirrorRepository.setUrl(mirror.getUrl()); Collections.replaceAll(repositories, repository, mirrorRepository); } } }