package com.intellij.flex.maven;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionResult;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.PlexusContainer;
import org.eclipse.aether.RepositorySystemSession;
class ThreadSafeMavenSession extends MavenSession {
private final ThreadLocal<MavenProject> threadLocalCurrentProject = new ThreadLocal<MavenProject>();
public ThreadSafeMavenSession(PlexusContainer container, RepositorySystemSession repositorySession, MavenExecutionRequest request,
MavenExecutionResult result) {
super(container, repositorySession, request, result);
setParallel(true);
}
@Override
public void setCurrentProject(MavenProject currentProject) {
threadLocalCurrentProject.set(currentProject);
}
@Override
public MavenProject getCurrentProject() {
return threadLocalCurrentProject.get();
}
}