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