Example usage for org.apache.maven.repository DefaultMirrorSelector DefaultMirrorSelector

List of usage examples for org.apache.maven.repository DefaultMirrorSelector DefaultMirrorSelector

Introduction

In this page you can find the example usage for org.apache.maven.repository DefaultMirrorSelector DefaultMirrorSelector.

Prototype

DefaultMirrorSelector

Source Link

Usage

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);
        }
    }
}