mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
maven: set ide workspace reader before building pom files
This commit is contained in:
+28
-13
@@ -136,21 +136,23 @@ public abstract class Maven3ServerEmbedder extends MavenRemoteObject implements
|
||||
final ProjectBuildingRequest projectBuildingRequest = request.getProjectBuildingRequest();
|
||||
projectBuildingRequest.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
|
||||
projectBuildingRequest.setResolveDependencies(false);
|
||||
|
||||
try {
|
||||
buildingResults = builder.build(new ArrayList<File>(files), false, projectBuildingRequest);
|
||||
}
|
||||
catch (ProjectBuildingException e) {
|
||||
for (ProjectBuildingResult result : e.getResults()) {
|
||||
if (result.getProject() != null) {
|
||||
buildingResults.add(result);
|
||||
if (files.size() == 1) {
|
||||
buildSinglePom(builder, buildingResults, projectBuildingRequest, files.iterator().next());
|
||||
}
|
||||
else {
|
||||
try {
|
||||
buildingResults = builder.build(new ArrayList<File>(files), false, projectBuildingRequest);
|
||||
}
|
||||
else {
|
||||
try {
|
||||
ProjectBuildingResult build = builder.build(result.getPomFile(), projectBuildingRequest);
|
||||
buildingResults.add(build);
|
||||
}
|
||||
catch (ProjectBuildingException e2) {
|
||||
buildingResults.addAll(e2.getResults());
|
||||
catch (ProjectBuildingException e) {
|
||||
for (ProjectBuildingResult result : e.getResults()) {
|
||||
if (result.getProject() != null) {
|
||||
buildingResults.add(result);
|
||||
}
|
||||
else {
|
||||
buildSinglePom(builder, buildingResults, projectBuildingRequest, result.getPomFile());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -161,6 +163,19 @@ public abstract class Maven3ServerEmbedder extends MavenRemoteObject implements
|
||||
return buildingResults;
|
||||
}
|
||||
|
||||
private static void buildSinglePom(ProjectBuilder builder,
|
||||
List<ProjectBuildingResult> buildingResults,
|
||||
ProjectBuildingRequest projectBuildingRequest,
|
||||
File pomFile) {
|
||||
try {
|
||||
ProjectBuildingResult build = builder.build(pomFile, projectBuildingRequest);
|
||||
buildingResults.add(build);
|
||||
}
|
||||
catch (ProjectBuildingException e) {
|
||||
buildingResults.addAll(e.getResults());
|
||||
}
|
||||
}
|
||||
|
||||
protected void addMvn2CompatResults(MavenProject project,
|
||||
List<Exception> exceptions,
|
||||
List<ResolutionListener> listeners,
|
||||
|
||||
+10
-10
@@ -603,6 +603,16 @@ public class Maven30ServerEmbedderImpl extends Maven3ServerEmbedder {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
RepositorySystemSession repositorySession = getComponent(LegacySupport.class).getRepositorySession();
|
||||
if (repositorySession instanceof DefaultRepositorySystemSession) {
|
||||
((DefaultRepositorySystemSession)repositorySession)
|
||||
.setTransferListener(new Maven30TransferListenerAdapter(myCurrentIndicator));
|
||||
|
||||
if (myWorkspaceMap != null) {
|
||||
((DefaultRepositorySystemSession)repositorySession).setWorkspaceReader(new Maven30WorkspaceReader(myWorkspaceMap));
|
||||
}
|
||||
}
|
||||
|
||||
List<ProjectBuildingResult> buildingResults = getProjectBuildingResults(request, files);
|
||||
|
||||
for (ProjectBuildingResult buildingResult : buildingResults) {
|
||||
@@ -618,16 +628,6 @@ public class Maven30ServerEmbedderImpl extends Maven3ServerEmbedder {
|
||||
continue;
|
||||
}
|
||||
|
||||
RepositorySystemSession repositorySession = getComponent(LegacySupport.class).getRepositorySession();
|
||||
if (repositorySession instanceof DefaultRepositorySystemSession) {
|
||||
((DefaultRepositorySystemSession)repositorySession)
|
||||
.setTransferListener(new Maven30TransferListenerAdapter(myCurrentIndicator));
|
||||
|
||||
if (myWorkspaceMap != null) {
|
||||
((DefaultRepositorySystemSession)repositorySession).setWorkspaceReader(new Maven30WorkspaceReader(myWorkspaceMap));
|
||||
}
|
||||
}
|
||||
|
||||
List<Exception> exceptions = new ArrayList<Exception>();
|
||||
loadExtensions(project, exceptions);
|
||||
|
||||
|
||||
+21
-15
@@ -18,7 +18,10 @@ package org.jetbrains.idea.maven.server;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.*;
|
||||
import com.intellij.util.ExceptionUtil;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.ReflectionUtil;
|
||||
import com.intellij.util.SystemProperties;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import gnu.trove.THashMap;
|
||||
import gnu.trove.THashSet;
|
||||
@@ -30,7 +33,10 @@ import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
|
||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
|
||||
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
|
||||
import org.apache.maven.artifact.resolver.*;
|
||||
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
|
||||
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
|
||||
import org.apache.maven.artifact.resolver.ArtifactResolver;
|
||||
import org.apache.maven.artifact.resolver.ResolutionListener;
|
||||
import org.apache.maven.cli.MavenCli;
|
||||
import org.apache.maven.execution.*;
|
||||
import org.apache.maven.model.Activation;
|
||||
@@ -619,6 +625,19 @@ public class Maven32ServerEmbedderImpl extends Maven3ServerEmbedder {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
RepositorySystemSession repositorySession = getComponent(LegacySupport.class).getRepositorySession();
|
||||
if (repositorySession instanceof DefaultRepositorySystemSession) {
|
||||
DefaultRepositorySystemSession session = (DefaultRepositorySystemSession)repositorySession;
|
||||
session.setTransferListener(new TransferListenerAdapter(myCurrentIndicator));
|
||||
|
||||
if (myWorkspaceMap != null) {
|
||||
session.setWorkspaceReader(new Maven32WorkspaceReader(myWorkspaceMap));
|
||||
}
|
||||
|
||||
session.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE, true);
|
||||
session.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE, true);
|
||||
}
|
||||
|
||||
List<ProjectBuildingResult> buildingResults = getProjectBuildingResults(request, files);
|
||||
|
||||
for (ProjectBuildingResult buildingResult : buildingResults) {
|
||||
@@ -634,19 +653,6 @@ public class Maven32ServerEmbedderImpl extends Maven3ServerEmbedder {
|
||||
continue;
|
||||
}
|
||||
|
||||
RepositorySystemSession repositorySession = getComponent(LegacySupport.class).getRepositorySession();
|
||||
if (repositorySession instanceof DefaultRepositorySystemSession) {
|
||||
DefaultRepositorySystemSession session = (DefaultRepositorySystemSession)repositorySession;
|
||||
session.setTransferListener(new TransferListenerAdapter(myCurrentIndicator));
|
||||
|
||||
if (myWorkspaceMap != null) {
|
||||
session.setWorkspaceReader(new Maven32WorkspaceReader(myWorkspaceMap));
|
||||
}
|
||||
|
||||
session.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE, true);
|
||||
session.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE, true);
|
||||
}
|
||||
|
||||
List<Exception> exceptions = new ArrayList<Exception>();
|
||||
loadExtensions(project, exceptions);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user