From 2cb6ae6549b1b0bd463ac889295a9c7cdd2ba491 Mon Sep 17 00:00:00 2001 From: Anton Makeev Date: Wed, 16 Mar 2011 18:25:59 +0100 Subject: [PATCH] Maven: 'keep source and test folders' import option --- .../maven/importing/MavenFoldersImporter.java | 18 ++++++++++-------- .../project/MavenImportingSettingsForm.form | 2 +- .../maven/project/MavenProjectsManager.java | 4 ++++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenFoldersImporter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenFoldersImporter.java index cca16120c6a1..b97cf182b465 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenFoldersImporter.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenFoldersImporter.java @@ -101,22 +101,24 @@ public class MavenFoldersImporter { testFolders.add(each.getDirectory()); } - // then sources - sourceFolders.addAll(myMavenProject.getSources()); - testFolders.addAll(myMavenProject.getTestSources()); - - // and additional sources + // then plugin-provided sources (can override resources ) for (MavenImporter each : MavenImporter.getSuitableImporters(myMavenProject)) { each.collectSourceFolders(myMavenProject, sourceFolders); each.collectTestFolders(myMavenProject, testFolders); } - for (String each : sourceFolders) { - myModel.addSourceFolder(each, false); - } + // and sources (can override resources and plugin-defined sources) + sourceFolders.addAll(myMavenProject.getSources()); + testFolders.addAll(myMavenProject.getTestSources()); + + // first add test folders for (String each : testFolders) { myModel.addSourceFolder(each, true); } + // when source folders (can override test folders) + for (String each : sourceFolders) { + myModel.addSourceFolder(each, false); + } } private void configOutputFolders() { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenImportingSettingsForm.form b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenImportingSettingsForm.form index 7e1cd2d7a885..e06e35a38d19 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenImportingSettingsForm.form +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenImportingSettingsForm.form @@ -162,7 +162,7 @@ - + diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java index 30323fa3f74f..f49182a691ce 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java @@ -169,6 +169,10 @@ public class MavenProjectsManager extends SimpleProjectComponent synchronized (isInitialized) { if (isInitialized.getAndSet(true)) return; + if (isNew) { + getImportingSettings().setKeepSourceFolders(false); + } + initProjectsTree(!isNew); initWorkers();