public RepositorySystemSession getSession(Task task, LocalRepository localRepo) { DefaultRepositorySystemSession session = new MavenRepositorySystemSession(); Map<Object, Object> configProps = new LinkedHashMap<Object, Object>(); configProps.put(ConfigurationProperties.USER_AGENT, getUserAgent()); configProps.putAll(System.getProperties()); configProps.putAll((Map<?, ?>) project.getProperties()); configProps.putAll((Map<?, ?>) project.getUserProperties()); session.setConfigProps(configProps); session.setNotFoundCachingEnabled(false); session.setTransferErrorCachingEnabled(false); session.setOffline(isOffline()); session.setUserProps(project.getUserProperties()); session.setLocalRepositoryManager(getLocalRepoMan(localRepo)); session.setProxySelector(getProxySelector()); session.setMirrorSelector(getMirrorSelector()); session.setAuthenticationSelector(getAuthSelector()); session.setCache(new DefaultRepositoryCache()); session.setRepositoryListener(new AntRepositoryListener(task)); session.setTransferListener(new AntTransferListener(task)); session.setWorkspaceReader(ProjectWorkspaceReader.getInstance()); return session; }