in maven-3.0.x/src/main/java/org/apache/maven/shared/transfer/repository/internal/Maven30RepositoryManager.java [102:126]
public ProjectBuildingRequest setLocalRepositoryBasedir( ProjectBuildingRequest buildingRequest,
File basedir )
{
ProjectBuildingRequest newRequest = new DefaultProjectBuildingRequest( buildingRequest );
RepositorySystemSession session = buildingRequest.getRepositorySession();
// "clone" session and replace localRepository
DefaultRepositorySystemSession newSession = new DefaultRepositorySystemSession( session );
// Clear cache, since we're using a new local repository
newSession.setCache( new DefaultRepositoryCache() );
// keep same repositoryType
String repositoryType = resolveRepositoryType( session.getLocalRepository() );
LocalRepositoryManager localRepositoryManager = repositorySystem.newLocalRepositoryManager(
new LocalRepository( basedir, repositoryType ) );
newSession.setLocalRepositoryManager( localRepositoryManager );
newRequest.setRepositorySession( newSession );
return newRequest;
}