public RemoteCacheRepositoryImpl()

in src/main/java/org/apache/maven/buildcache/RemoteCacheRepositoryImpl.java [71:95]


    public RemoteCacheRepositoryImpl(
            XmlService xmlService,
            CacheConfig cacheConfig,
            MavenSession mavenSession,
            TransporterProvider transporterProvider)
            throws Exception {
        this.xmlService = xmlService;
        this.cacheConfig = cacheConfig;
        if (cacheConfig.isRemoteCacheEnabled()) {
            RepositorySystemSession session = mavenSession.getRepositorySession();
            RemoteRepository repo =
                    new RemoteRepository.Builder(cacheConfig.getId(), "cache", cacheConfig.getUrl()).build();
            RemoteRepository mirror = session.getMirrorSelector().getMirror(repo);
            RemoteRepository repoOrMirror = mirror != null ? mirror : repo;
            Proxy proxy = session.getProxySelector().getProxy(repoOrMirror);
            Authentication auth = session.getAuthenticationSelector().getAuthentication(repoOrMirror);
            RemoteRepository repository = new RemoteRepository.Builder(repoOrMirror)
                    .setProxy(proxy)
                    .setAuthentication(auth)
                    .build();
            this.transporter = transporterProvider.newTransporter(session, repository);
        } else {
            this.transporter = null;
        }
    }