do not add task dirs to source roots
authorLiana Bakradze <liana.bakradze@jetbrains.com>
Wed, 12 Aug 2015 16:34:01 +0000 (19:34 +0300)
committerLiana Bakradze <liana.bakradze@jetbrains.com>
Wed, 12 Aug 2015 16:34:01 +0000 (19:34 +0300)
python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCFileDeletedListener.java
python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateTask.java
python/educational/interactive-learning/src/com/jetbrains/edu/learning/courseGeneration/StudyGenerator.java
python/educational/src/com/jetbrains/edu/EduUtils.java

index a28b44709bae398302d3b2a76301f26f9e25a008..c90e1ced953080c5839729106c91d7c0dbe529fa 100644 (file)
@@ -2,13 +2,11 @@ package com.jetbrains.edu.coursecreator;
 
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.ModifiableRootModel;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileAdapter;
 import com.intellij.openapi.vfs.VirtualFileEvent;
 import com.intellij.util.Function;
 import com.jetbrains.edu.EduNames;
-import com.jetbrains.edu.EduUtils;
 import com.jetbrains.edu.courseFormat.*;
 import com.jetbrains.edu.coursecreator.actions.CCRunTestsAction;
 import org.jetbrains.annotations.NotNull;
@@ -78,11 +76,6 @@ class CCFileDeletedListener extends VirtualFileAdapter {
         return lesson.getTask(file.getName());
       }
     }, task.getIndex(), EduNames.TASK, -1);
-    ModifiableRootModel model = EduUtils.getModel(lessonDir, project);
-    if (model == null) {
-      return;
-    }
-    EduUtils.commitAndSaveModel(model);
     lesson.getTaskList().remove(task);
   }
 
index e4e3e2e36d54f36a480aa1af3d8a5e06f3105475..8a68ff6ace9ef2533304a6428b137fac1c7f976a 100644 (file)
@@ -23,7 +23,6 @@ import com.intellij.psi.PsiDirectory;
 import com.intellij.psi.PsiElement;
 import com.intellij.util.PlatformIcons;
 import com.jetbrains.edu.EduNames;
-import com.jetbrains.edu.EduUtils;
 import com.jetbrains.edu.courseFormat.Course;
 import com.jetbrains.edu.courseFormat.Lesson;
 import com.jetbrains.edu.courseFormat.Task;
@@ -80,7 +79,6 @@ public class CCCreateTask extends DumbAwareAction {
             return;
           }
 
-          EduUtils.markDirAsSourceRoot(taskDirectory.getVirtualFile(), project);
           final Task task = new Task(taskName);
           task.setIndex(size + 1);
           lesson.addTask(task);
index a7a4a5ede77ff3341c7f04432372f35b9f3a2280..237ce394a182c7c9950c30591e848a2d0326afb7 100644 (file)
@@ -5,7 +5,6 @@ import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.io.FileUtil;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.jetbrains.edu.EduNames;
-import com.jetbrains.edu.EduUtils;
 import com.jetbrains.edu.courseFormat.Course;
 import com.jetbrains.edu.courseFormat.Lesson;
 import com.jetbrains.edu.courseFormat.Task;
@@ -53,7 +52,6 @@ public class StudyGenerator {
   public static void createTask(@NotNull final Task task, @NotNull final VirtualFile lessonDir, @NotNull final File resourceRoot,
                                 @NotNull final Project project) throws IOException {
     VirtualFile taskDir = lessonDir.createChildDirectory(project, EduNames.TASK + Integer.toString(task.getIndex()));
-    EduUtils.markDirAsSourceRoot(taskDir, project);
     File newResourceRoot = new File(resourceRoot, taskDir.getName());
     int i = 0;
     for (Map.Entry<String, TaskFile> taskFile : task.getTaskFiles().entrySet()) {
index de3d7f0a226421c5243cb3fcea6695f5f079b7ea..852921eb5709c450a327c806c7e372e2aaceea12 100644 (file)
@@ -1,7 +1,6 @@
 package com.jetbrains.edu;
 
 import com.intellij.ide.SaveAndSyncHandler;
-import com.intellij.ide.projectView.actions.MarkRootActionBase;
 import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.Presentation;
 import com.intellij.openapi.application.ApplicationManager;
@@ -9,12 +8,7 @@ import com.intellij.openapi.command.CommandProcessor;
 import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.editor.Document;
 import com.intellij.openapi.fileEditor.FileDocumentManager;
-import com.intellij.openapi.module.Module;
-import com.intellij.openapi.module.ModuleUtilCore;
 import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.ContentEntry;
-import com.intellij.openapi.roots.ModifiableRootModel;
-import com.intellij.openapi.roots.ModuleRootManager;
 import com.intellij.openapi.util.TextRange;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileManager;
@@ -44,40 +38,6 @@ public class EduUtils {
     }
   };
 
-  public static void commitAndSaveModel(final ModifiableRootModel model) {
-    ApplicationManager.getApplication().runWriteAction(new Runnable() {
-      @Override
-      public void run() {
-        model.commit();
-        model.getProject().save();
-      }
-    });
-  }
-
-  @Nullable
-  public static ModifiableRootModel getModel(@NotNull VirtualFile dir, @NotNull Project project) {
-    final Module module = ModuleUtilCore.findModuleForFile(dir, project);
-    if (module == null) {
-      LOG.info("Module for " + dir.getPath() + " was not found");
-      return null;
-    }
-    return ModuleRootManager.getInstance(module).getModifiableModel();
-  }
-
-  public static void markDirAsSourceRoot(@NotNull final VirtualFile dir, @NotNull final Project project) {
-    final ModifiableRootModel model = getModel(dir, project);
-    if (model == null) {
-      return;
-    }
-    final ContentEntry entry = MarkRootActionBase.findContentEntry(model, dir);
-    if (entry == null) {
-      LOG.info("Content entry for " + dir.getPath() + " was not found");
-      return;
-    }
-    entry.addSourceFolder(dir, false);
-    commitAndSaveModel(model);
-  }
-
   public static void enableAction(@NotNull final AnActionEvent event, boolean isEnable) {
     final Presentation presentation = event.getPresentation();
     presentation.setVisible(isEnable);