public DefaultRepositorySystemSession setupRepoSession(final RepositorySystem repoSystem, final Settings settings) { DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); session.setOffline(false); Proxy activeProxy = settings.getActiveProxy(); if (activeProxy != null) { DefaultProxySelector dps = new DefaultProxySelector(); dps.add(convertFromMavenProxy(activeProxy), activeProxy.getNonProxyHosts()); session.setProxySelector(dps); } final DefaultMirrorSelector mirrorSelector = createMirrorSelector(settings); final LazyAuthenticationSelector authSelector = createAuthSelector(settings, mirrorSelector); session.setMirrorSelector(mirrorSelector); session.setAuthenticationSelector(authSelector); LocalRepository localRepo = new LocalRepository(new File(settings.getLocalRepository())); session.setLocalRepositoryManager(repoSystem.newLocalRepositoryManager(session, localRepo)); session.setChecksumPolicy(RepositoryPolicy.CHECKSUM_POLICY_IGNORE); session.setCache(new DefaultRepositoryCache()); boolean cacheNotFoundArtifacts = true; boolean cacheTransferErrors = true; session.setResolutionErrorPolicy(new SimpleResolutionErrorPolicy(cacheNotFoundArtifacts, cacheTransferErrors)); session.setWorkspaceReader(new ClasspathWorkspaceReader()); if (Boolean.getBoolean("org.apache.maven.log_transfer")) { session.setTransferListener(new JULMavenTransferListener()); } return session; }