summaryrefslogtreecommitdiff
path: root/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectReader.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectReader.java')
-rw-r--r--plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectReader.java51
1 files changed, 27 insertions, 24 deletions
diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectReader.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectReader.java
index bb465f5e5fc1..31f245ccfdc6 100644
--- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectReader.java
+++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectReader.java
@@ -47,9 +47,9 @@ public class MavenProjectReader {
public MavenProjectReaderResult readProject(MavenGeneralSettings generalSettings,
VirtualFile file,
- Collection<String> explicitProfiles,
+ MavenExplicitProfiles explicitProfiles,
MavenProjectReaderProjectLocator locator) {
- Pair<RawModelReadResult, Collection<String>> readResult =
+ Pair<RawModelReadResult, MavenExplicitProfiles> readResult =
doReadProjectModel(generalSettings, file, explicitProfiles, new THashSet<VirtualFile>(), locator);
File basedir = getBaseDir(file);
@@ -76,11 +76,11 @@ public class MavenProjectReader {
return new File(file.getParent().getPath());
}
- private Pair<RawModelReadResult, Collection<String>> doReadProjectModel(MavenGeneralSettings generalSettings,
- VirtualFile file,
- Collection<String> explicitProfiles,
- Set<VirtualFile> recursionGuard,
- MavenProjectReaderProjectLocator locator) {
+ private Pair<RawModelReadResult, MavenExplicitProfiles> doReadProjectModel(MavenGeneralSettings generalSettings,
+ VirtualFile file,
+ MavenExplicitProfiles explicitProfiles,
+ Set<VirtualFile> recursionGuard,
+ MavenProjectReaderProjectLocator locator) {
RawModelReadResult cachedModel = myRawModelsCache.get(file);
if (cachedModel == null) {
cachedModel = doReadProjectModel(file, false);
@@ -364,7 +364,7 @@ public class MavenProjectReader {
private static ProfileApplicationResult applyProfiles(MavenModel model,
File basedir,
- Collection<String> explicitProfiles,
+ MavenExplicitProfiles explicitProfiles,
Collection<String> alwaysOnProfiles) {
return MavenServerManager.getInstance().applyProfiles(model, basedir, explicitProfiles, alwaysOnProfiles);
}
@@ -372,7 +372,7 @@ public class MavenProjectReader {
private MavenModel resolveInheritance(final MavenGeneralSettings generalSettings,
MavenModel model,
final VirtualFile file,
- final Collection<String> explicitProfiles,
+ final MavenExplicitProfiles explicitProfiles,
final Set<VirtualFile> recursionGuard,
final MavenProjectReaderProjectLocator locator,
Collection<MavenProjectProblem> problems) {
@@ -456,21 +456,23 @@ public class MavenProjectReader {
public MavenProjectReaderResult resolveProject(MavenGeneralSettings generalSettings,
MavenEmbedderWrapper embedder,
VirtualFile file,
- Collection<String> explicitProfiles,
+ MavenExplicitProfiles explicitProfiles,
MavenProjectReaderProjectLocator locator) throws MavenProcessCanceledException {
try {
- MavenServerExecutionResult result = embedder.resolveProject(file, explicitProfiles);
- if (result.projectData == null) {
+ MavenServerExecutionResult result =
+ embedder.resolveProject(file, explicitProfiles.getEnabledProfiles(), explicitProfiles.getDisabledProfiles());
+ MavenServerExecutionResult.ProjectData projectData = result.projectData;
+ if (projectData == null) {
MavenProjectReaderResult temp = readProject(generalSettings, file, explicitProfiles, locator);
temp.readingProblems.addAll(result.problems);
temp.unresolvedArtifactIds.addAll(result.unresolvedArtifacts);
return temp;
}
- return new MavenProjectReaderResult(result.projectData.mavenModel,
- result.projectData.mavenModelMap,
- result.projectData.activatedProfiles,
- result.projectData.nativeMavenProject,
+ return new MavenProjectReaderResult(projectData.mavenModel,
+ projectData.mavenModelMap,
+ new MavenExplicitProfiles(projectData.activatedProfiles, explicitProfiles.getDisabledProfiles()),
+ projectData.nativeMavenProject,
result.problems,
result.unresolvedArtifacts);
}
@@ -497,17 +499,18 @@ public class MavenProjectReader {
public static MavenProjectReaderResult generateSources(MavenEmbedderWrapper embedder,
MavenImportingSettings importingSettings,
VirtualFile file,
- Collection<String> profiles,
+ MavenExplicitProfiles profiles,
MavenConsole console) throws MavenProcessCanceledException {
try {
List<String> goals = Collections.singletonList(importingSettings.getUpdateFoldersOnImportPhase());
- MavenServerExecutionResult result = embedder.execute(file, profiles, goals);
- if (result.projectData == null) return null;
-
- return new MavenProjectReaderResult(result.projectData.mavenModel,
- result.projectData.mavenModelMap,
- result.projectData.activatedProfiles,
- result.projectData.nativeMavenProject,
+ MavenServerExecutionResult result = embedder.execute(file, profiles.getEnabledProfiles(), profiles.getDisabledProfiles(), goals);
+ MavenServerExecutionResult.ProjectData projectData = result.projectData;
+ if (projectData == null) return null;
+
+ return new MavenProjectReaderResult(projectData.mavenModel,
+ projectData.mavenModelMap,
+ new MavenExplicitProfiles(projectData.activatedProfiles, profiles.getDisabledProfiles()),
+ projectData.nativeMavenProject,
result.problems,
result.unresolvedArtifacts);
}