diff --git a/python/edu/course-creator/resources/META-INF/plugin.xml b/python/edu/course-creator/resources/META-INF/plugin.xml deleted file mode 100644 index 0e7391d1a18b..000000000000 --- a/python/edu/course-creator/resources/META-INF/plugin.xml +++ /dev/null @@ -1,86 +0,0 @@ - - org.jetbrains.plugins.coursecreator - Course Creator for PyCharm Educational - 1.2 - - - - - - - - - - - com.intellij.modules.python - - - - - - - - - - - - - - - - - - - - - - org.jetbrains.plugins.coursecreator.CCProjectComponent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/python/edu/course-creator/resources/icons/gutter.png b/python/edu/course-creator/resources/icons/gutter.png deleted file mode 100644 index 244e6ca045c5..000000000000 Binary files a/python/edu/course-creator/resources/icons/gutter.png and /dev/null differ diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCAnswerFileType.java b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCAnswerFileType.java deleted file mode 100644 index 0f3502d4ee6c..000000000000 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCAnswerFileType.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2000-2014 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jetbrains.plugins.coursecreator; - -import com.jetbrains.python.PythonFileType; -import org.jetbrains.annotations.NotNull; - -public class CCAnswerFileType extends PythonFileType { - - @NotNull - @Override - public String getDefaultExtension() { - return "answer"; - } - - @NotNull - @Override - public String getDescription() { - return "Answer file"; - } - - @NotNull - @Override - public String getName() { - return "Answer"; - } -} diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRunTests.java b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRunTests.java deleted file mode 100644 index cf1f7e48ea3d..000000000000 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRunTests.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2000-2014 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jetbrains.plugins.coursecreator; - -import com.intellij.openapi.actionSystem.AnAction; -import com.jetbrains.python.edu.PyExecuteFileExtensionPoint; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.actions.CCRunTestsAction; - -public class CCRunTests implements PyExecuteFileExtensionPoint { - - @NotNull - public AnAction getRunAction() { - return new CCRunTestsAction(); - } - -} diff --git a/python/edu/main_pycharm_edu.iml b/python/edu/main_pycharm_edu.iml index 565d236ec4a7..c29ec159fc09 100644 --- a/python/edu/main_pycharm_edu.iml +++ b/python/edu/main_pycharm_edu.iml @@ -17,7 +17,7 @@ + - - + \ No newline at end of file diff --git a/python/edu/course-creator/course-creator.iml b/python/educational-python/course-creator-python/course-creator-python.iml similarity index 86% rename from python/edu/course-creator/course-creator.iml rename to python/educational-python/course-creator-python/course-creator-python.iml index 18baaf4ed068..e08d029ad3ce 100644 --- a/python/edu/course-creator/course-creator.iml +++ b/python/educational-python/course-creator-python/course-creator-python.iml @@ -9,11 +9,10 @@ - + - - + - + \ No newline at end of file diff --git a/python/educational-python/course-creator-python/resources/META-INF/plugin.xml b/python/educational-python/course-creator-python/resources/META-INF/plugin.xml new file mode 100644 index 000000000000..b9148d8f1de2 --- /dev/null +++ b/python/educational-python/course-creator-python/resources/META-INF/plugin.xml @@ -0,0 +1,43 @@ + + com.jetbrains.edu.coursecreator.python + Course Creator for PyCharm Educational + 2.0 + + + + + + + + + + + com.intellij.modules.platform + com.intellij.modules.python + com.jetbrains.edu.coursecreator + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/python/edu/course-creator/resources/fileTemplates/internal/task.answer.ft b/python/educational-python/course-creator-python/resources/fileTemplates/internal/task.answer.ft similarity index 100% rename from python/edu/course-creator/resources/fileTemplates/internal/task.answer.ft rename to python/educational-python/course-creator-python/resources/fileTemplates/internal/task.answer.ft diff --git a/python/edu/course-creator/resources/fileTemplates/internal/task.html.ft b/python/educational-python/course-creator-python/resources/fileTemplates/internal/task.html.ft similarity index 100% rename from python/edu/course-creator/resources/fileTemplates/internal/task.html.ft rename to python/educational-python/course-creator-python/resources/fileTemplates/internal/task.html.ft diff --git a/python/edu/course-creator/resources/fileTemplates/internal/test_helper.py.ft b/python/educational-python/course-creator-python/resources/fileTemplates/internal/test_helper.py.ft similarity index 100% rename from python/edu/course-creator/resources/fileTemplates/internal/test_helper.py.ft rename to python/educational-python/course-creator-python/resources/fileTemplates/internal/test_helper.py.ft diff --git a/python/edu/course-creator/resources/fileTemplates/internal/tests.py.ft b/python/educational-python/course-creator-python/resources/fileTemplates/internal/tests.py.ft similarity index 100% rename from python/edu/course-creator/resources/fileTemplates/internal/tests.py.ft rename to python/educational-python/course-creator-python/resources/fileTemplates/internal/tests.py.ft diff --git a/python/edu/course-creator/resources/icons/CourseCreationProjectType.png b/python/educational-python/course-creator-python/resources/icons/CourseCreationProjectType.png similarity index 100% rename from python/edu/course-creator/resources/icons/CourseCreationProjectType.png rename to python/educational-python/course-creator-python/resources/icons/CourseCreationProjectType.png diff --git a/python/edu/course-creator/resources/icons/CourseCreationProjectType@2x.png b/python/educational-python/course-creator-python/resources/icons/CourseCreationProjectType@2x.png similarity index 100% rename from python/edu/course-creator/resources/icons/CourseCreationProjectType@2x.png rename to python/educational-python/course-creator-python/resources/icons/CourseCreationProjectType@2x.png diff --git a/python/edu/course-creator/resources/icons/CourseCreationProjectType@2x_dark.png b/python/educational-python/course-creator-python/resources/icons/CourseCreationProjectType@2x_dark.png similarity index 100% rename from python/edu/course-creator/resources/icons/CourseCreationProjectType@2x_dark.png rename to python/educational-python/course-creator-python/resources/icons/CourseCreationProjectType@2x_dark.png diff --git a/python/edu/course-creator/resources/icons/CourseCreationProjectType_dark.png b/python/educational-python/course-creator-python/resources/icons/CourseCreationProjectType_dark.png similarity index 100% rename from python/edu/course-creator/resources/icons/CourseCreationProjectType_dark.png rename to python/educational-python/course-creator-python/resources/icons/CourseCreationProjectType_dark.png diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCAnswerFileTypeFactory.java b/python/educational-python/course-creator-python/src/com/jetbrains/edu/coursecreator/PyCCAnswerFileTypeFactory.java similarity index 79% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCAnswerFileTypeFactory.java rename to python/educational-python/course-creator-python/src/com/jetbrains/edu/coursecreator/PyCCAnswerFileTypeFactory.java index 7c49b8e61658..4585963375a3 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCAnswerFileTypeFactory.java +++ b/python/educational-python/course-creator-python/src/com/jetbrains/edu/coursecreator/PyCCAnswerFileTypeFactory.java @@ -13,16 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jetbrains.plugins.coursecreator; +package com.jetbrains.edu.coursecreator; import com.intellij.openapi.fileTypes.FileTypeConsumer; import com.intellij.openapi.fileTypes.FileTypeFactory; +import com.jetbrains.python.PythonFileType; import org.jetbrains.annotations.NotNull; -public class CCAnswerFileTypeFactory extends FileTypeFactory { +public class PyCCAnswerFileTypeFactory extends FileTypeFactory { @Override public void createFileTypes(@NotNull FileTypeConsumer fileTypeConsumer) { - fileTypeConsumer.consume(CCAnswerFileType.INSTANCE, "answer"); + fileTypeConsumer.consume(PythonFileType.INSTANCE, "answer"); } } diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectGenerator.java b/python/educational-python/course-creator-python/src/com/jetbrains/edu/coursecreator/PyCCProjectGenerator.java similarity index 53% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectGenerator.java rename to python/educational-python/course-creator-python/src/com/jetbrains/edu/coursecreator/PyCCProjectGenerator.java index 667134d767b5..0cb33f31733a 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectGenerator.java +++ b/python/educational-python/course-creator-python/src/com/jetbrains/edu/coursecreator/PyCCProjectGenerator.java @@ -1,34 +1,24 @@ -package org.jetbrains.plugins.coursecreator; +package com.jetbrains.edu.coursecreator; import com.intellij.facet.ui.FacetEditorValidator; import com.intellij.facet.ui.FacetValidatorsManager; import com.intellij.facet.ui.ValidationResult; -import com.intellij.ide.fileTemplates.FileTemplate; -import com.intellij.ide.fileTemplates.FileTemplateManager; -import com.intellij.ide.fileTemplates.FileTemplateUtil; -import com.intellij.ide.util.DirectoryUtil; -import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.module.Module; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.platform.DirectoryProjectGenerator; -import com.intellij.psi.PsiDirectory; -import com.intellij.psi.PsiManager; +import com.jetbrains.edu.coursecreator.ui.CCNewProjectPanel; import com.jetbrains.python.newProject.PythonProjectGenerator; -import icons.CourseCreatorIcons; +import icons.CourseCreatorPythonIcons; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.actions.CCCreateLesson; -import org.jetbrains.plugins.coursecreator.actions.CCCreateTask; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.ui.CCNewProjectPanel; import javax.swing.*; -public class CCProjectGenerator extends PythonProjectGenerator implements DirectoryProjectGenerator { +public class PyCCProjectGenerator extends PythonProjectGenerator implements DirectoryProjectGenerator { private CCNewProjectPanel mySettingsPanel; @Nls @@ -47,34 +37,15 @@ public class CCProjectGenerator extends PythonProjectGenerator implements Direct @Nullable @Override public Icon getLogo() { - return CourseCreatorIcons.CourseCreationProjectType; + return CourseCreatorPythonIcons.CourseCreationProjectType; } @Override public void generateProject(@NotNull final Project project, @NotNull final VirtualFile baseDir, @Nullable Object settings, @NotNull Module module) { - - final CCProjectService service = CCProjectService.getInstance(project); - final Course course = new Course(mySettingsPanel.getName(), mySettingsPanel.getAuthor(), mySettingsPanel.getDescription()); - service.setCourse(course); - - final PsiDirectory projectDir = PsiManager.getInstance(project).findDirectory(baseDir); - if (projectDir == null) return; - new WriteCommandAction.Simple(project) { - @Override - protected void run() throws Throwable { - final FileTemplate template = FileTemplateManager.getInstance(project).getInternalTemplate("test_helper"); - try { - FileTemplateUtil.createFromTemplate(template, "test_helper.py", null, projectDir); - } - catch (Exception ignored) { - } - DirectoryUtil.createSubdirectories("hints", projectDir, "\\/"); - final PsiDirectory lessonDir = CCCreateLesson.createLesson(projectDir, 1, null, null, course); - CCCreateTask.createTask(null, project, lessonDir, false); - } - }.execute(); + CCProjectGeneratorUtil.generateProject(project, baseDir, mySettingsPanel.getName(), + mySettingsPanel.getAuthor(), mySettingsPanel.getDescription()); } @NotNull diff --git a/python/educational-python/course-creator-python/src/com/jetbrains/edu/coursecreator/actions/PyCCRunTestsAction.java b/python/educational-python/course-creator-python/src/com/jetbrains/edu/coursecreator/actions/PyCCRunTestsAction.java new file mode 100644 index 000000000000..ee002b64c45a --- /dev/null +++ b/python/educational-python/course-creator-python/src/com/jetbrains/edu/coursecreator/actions/PyCCRunTestsAction.java @@ -0,0 +1,66 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.jetbrains.edu.coursecreator.actions; + +import com.intellij.execution.Executor; +import com.intellij.execution.ProgramRunnerUtil; +import com.intellij.execution.RunManager; +import com.intellij.execution.RunnerAndConfigurationSettings; +import com.intellij.execution.configurations.ConfigurationFactory; +import com.intellij.execution.executors.DefaultRunExecutor; +import com.intellij.ide.projectView.ProjectView; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.vfs.VirtualFileManager; +import com.intellij.util.PathUtil; +import com.jetbrains.python.run.PythonConfigurationType; +import com.jetbrains.python.run.PythonRunConfiguration; +import org.jetbrains.annotations.NotNull; + +public class PyCCRunTestsAction extends CCRunTestsAction { + + @Override + protected void executeTests(@NotNull final Project project, + @NotNull final VirtualFile virtualFile, + @NotNull final VirtualFile taskDir, + @NotNull final VirtualFile testFile) { + final ConfigurationFactory factory = PythonConfigurationType.getInstance().getConfigurationFactories()[0]; + final RunnerAndConfigurationSettings settings = + RunManager.getInstance(project).createRunConfiguration("test", factory); + + final PythonRunConfiguration configuration = (PythonRunConfiguration)settings.getConfiguration(); + configuration.setScriptName(testFile.getPath()); + VirtualFile userFile = taskDir.findChild(virtualFile.getNameWithoutExtension() + ".py"); + if (userFile == null) { + return; + } + VirtualFile ideaDir = project.getBaseDir().findChild(".idea"); + if (ideaDir == null) { + return; + } + VirtualFileManager.getInstance().refreshWithoutFileWatcher(true); + ProjectView.getInstance(project).refresh(); + VirtualFile courseDir = ideaDir.findChild("course"); + if (courseDir == null) { + return; + } + configuration.setScriptParameters(PathUtil.toSystemDependentName(courseDir.getPath()) + " " + PathUtil.toSystemDependentName(userFile.getPath())); + Executor executor = DefaultRunExecutor.getRunExecutorInstance(); + ProgramRunnerUtil.executeConfiguration(project, settings, executor); + } + + +} diff --git a/python/edu/course-creator/src/icons/CourseCreatorIcons.java b/python/educational-python/course-creator-python/src/icons/CourseCreatorPythonIcons.java similarity index 67% rename from python/edu/course-creator/src/icons/CourseCreatorIcons.java rename to python/educational-python/course-creator-python/src/icons/CourseCreatorPythonIcons.java index 191ce0d55b30..2342897dc53e 100644 --- a/python/edu/course-creator/src/icons/CourseCreatorIcons.java +++ b/python/educational-python/course-creator-python/src/icons/CourseCreatorPythonIcons.java @@ -8,11 +8,10 @@ import javax.swing.*; * NOTE THIS FILE IS AUTO-GENERATED * DO NOT EDIT IT BY HAND, run build/scripts/icons.gant instead */ -public class CourseCreatorIcons { +public class CourseCreatorPythonIcons { private static Icon load(String path) { - return IconLoader.getIcon(path, CourseCreatorIcons.class); + return IconLoader.getIcon(path, CourseCreatorPythonIcons.class); } public static final Icon CourseCreationProjectType = load("/icons/CourseCreationProjectType.png"); // 32x32 - public static final Icon Gutter = load("/icons/gutter.png"); // 16x16 } diff --git a/python/edu/course-creator/testData/helloworld.py b/python/educational-python/course-creator-python/testData/helloworld.py similarity index 100% rename from python/edu/course-creator/testData/helloworld.py rename to python/educational-python/course-creator-python/testData/helloworld.py diff --git a/python/edu/course-creator/testData/helloworld.xml b/python/educational-python/course-creator-python/testData/helloworld.xml similarity index 100% rename from python/edu/course-creator/testData/helloworld.xml rename to python/educational-python/course-creator-python/testData/helloworld.xml diff --git a/python/edu/course-creator/tests/CCDocumentListenerTest.java b/python/educational-python/course-creator-python/tests/CCDocumentListenerTest.java similarity index 93% rename from python/edu/course-creator/tests/CCDocumentListenerTest.java rename to python/educational-python/course-creator-python/tests/CCDocumentListenerTest.java index 24e9e85bf1ca..b489513d2123 100644 --- a/python/edu/course-creator/tests/CCDocumentListenerTest.java +++ b/python/educational-python/course-creator-python/tests/CCDocumentListenerTest.java @@ -5,11 +5,11 @@ import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiFile; import com.intellij.util.xmlb.XmlSerializer; +import com.jetbrains.edu.coursecreator.actions.CCCreateCourseArchive; +import com.jetbrains.edu.coursecreator.format.TaskFile; +import com.jetbrains.edu.coursecreator.format.TaskWindow; import org.jdom.input.SAXBuilder; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.actions.CCCreateCourseArchive; -import org.jetbrains.plugins.coursecreator.format.TaskFile; -import org.jetbrains.plugins.coursecreator.format.TaskWindow; import java.util.List; diff --git a/python/edu/course-creator/tests/CCTestCase.java b/python/educational-python/course-creator-python/tests/CCTestCase.java similarity index 96% rename from python/edu/course-creator/tests/CCTestCase.java rename to python/educational-python/course-creator-python/tests/CCTestCase.java index c7dbe46308c9..66c33ebf859b 100644 --- a/python/edu/course-creator/tests/CCTestCase.java +++ b/python/educational-python/course-creator-python/tests/CCTestCase.java @@ -25,7 +25,7 @@ public abstract class CCTestCase extends UsefulTestCase { } protected String getTestDataPath() { - return PythonHelpersLocator.getPythonCommunityPath() + "/edu/course-creator/testData"; + return PythonHelpersLocator.getPythonCommunityPath() + "/educational_python/course_creator_python/testData"; } @Override diff --git a/python/educational-python/educational-python.iml b/python/educational-python/educational-python.iml new file mode 100644 index 000000000000..c90834f2d607 --- /dev/null +++ b/python/educational-python/educational-python.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/python/educational-python/interactive-learning-python/interactive-learning-python.iml b/python/educational-python/interactive-learning-python/interactive-learning-python.iml new file mode 100644 index 000000000000..c90834f2d607 --- /dev/null +++ b/python/educational-python/interactive-learning-python/interactive-learning-python.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/python/educational/course-creator/course-creator.iml b/python/educational/course-creator/course-creator.iml new file mode 100644 index 000000000000..75a2690f8e0f --- /dev/null +++ b/python/educational/course-creator/course-creator.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/python/educational/course-creator/resources/META-INF/plugin.xml b/python/educational/course-creator/resources/META-INF/plugin.xml new file mode 100644 index 000000000000..6fb2817bff05 --- /dev/null +++ b/python/educational/course-creator/resources/META-INF/plugin.xml @@ -0,0 +1,78 @@ + + com.jetbrains.edu.coursecreator + Course Creator Plugin + 2.0 + + + + + + + + + + com.intellij.modules.platform + + + + + + + + + + + + + + + + com.jetbrains.edu.coursecreator.CCProjectComponent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCDocumentListener.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCDocumentListener.java similarity index 94% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCDocumentListener.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCDocumentListener.java index b1917292df32..e2621bfa0342 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCDocumentListener.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCDocumentListener.java @@ -1,11 +1,11 @@ -package org.jetbrains.plugins.coursecreator; +package com.jetbrains.edu.coursecreator; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.event.DocumentAdapter; import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.editor.impl.event.DocumentEventImpl; -import org.jetbrains.plugins.coursecreator.format.TaskFile; -import org.jetbrains.plugins.coursecreator.format.TaskWindow; +import com.jetbrains.edu.coursecreator.format.TaskFile; +import com.jetbrains.edu.coursecreator.format.TaskWindow; import java.util.ArrayList; import java.util.List; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCEditorFactoryListener.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCEditorFactoryListener.java similarity index 93% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCEditorFactoryListener.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCEditorFactoryListener.java index c61ab10d7332..57d7d73a9fe5 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCEditorFactoryListener.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCEditorFactoryListener.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator; +package com.jetbrains.edu.coursecreator; import com.intellij.codeInsight.hint.HintManager; import com.intellij.openapi.editor.Document; @@ -12,8 +12,11 @@ import com.intellij.openapi.editor.event.EditorFactoryListener; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.Lesson; +import com.jetbrains.edu.coursecreator.format.Task; +import com.jetbrains.edu.coursecreator.format.TaskFile; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.format.*; public class CCEditorFactoryListener implements EditorFactoryListener { @Override diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectComponent.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectComponent.java similarity index 95% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectComponent.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectComponent.java index 88a242492581..e4c44a97e62f 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectComponent.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectComponent.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator; +package com.jetbrains.edu.coursecreator; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.components.ProjectComponent; @@ -16,12 +16,12 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileAdapter; import com.intellij.openapi.vfs.VirtualFileEvent; import com.intellij.openapi.vfs.VirtualFileManager; +import com.jetbrains.edu.coursecreator.actions.CCRunTestsAction; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.Lesson; +import com.jetbrains.edu.coursecreator.format.Task; +import com.jetbrains.edu.coursecreator.format.TaskFile; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.actions.CCRunTestsAction; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.format.Lesson; -import org.jetbrains.plugins.coursecreator.format.Task; -import org.jetbrains.plugins.coursecreator.format.TaskFile; import java.io.IOException; diff --git a/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectGeneratorUtil.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectGeneratorUtil.java new file mode 100644 index 000000000000..7ccd9a8d7f6a --- /dev/null +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectGeneratorUtil.java @@ -0,0 +1,45 @@ +package com.jetbrains.edu.coursecreator; + +import com.intellij.ide.fileTemplates.FileTemplate; +import com.intellij.ide.fileTemplates.FileTemplateManager; +import com.intellij.ide.fileTemplates.FileTemplateUtil; +import com.intellij.ide.util.DirectoryUtil; +import com.intellij.openapi.command.WriteCommandAction; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.PsiDirectory; +import com.intellij.psi.PsiManager; +import com.jetbrains.edu.coursecreator.actions.CCCreateLesson; +import com.jetbrains.edu.coursecreator.actions.CCCreateTask; +import com.jetbrains.edu.coursecreator.format.Course; +import org.jetbrains.annotations.NotNull; + + +public class CCProjectGeneratorUtil { + public static void generateProject(@NotNull final Project project, @NotNull final VirtualFile baseDir, + @NotNull final String name, @NotNull final String author, + @NotNull final String description) { + + final CCProjectService service = CCProjectService.getInstance(project); + final Course course = new Course(name, author, description); + service.setCourse(course); + + final PsiDirectory projectDir = PsiManager.getInstance(project).findDirectory(baseDir); + if (projectDir == null) return; + new WriteCommandAction.Simple(project) { + @Override + protected void run() throws Throwable { + final FileTemplate template = FileTemplateManager.getInstance(project).getInternalTemplate("test_helper"); + try { + FileTemplateUtil.createFromTemplate(template, "test_helper.py", null, projectDir); + } + catch (Exception ignored) { + } + DirectoryUtil.createSubdirectories("hints", projectDir, "\\/"); + final PsiDirectory lessonDir = CCCreateLesson.createLesson(projectDir, 1, null, null, course); + CCCreateTask.createTask(null, project, lessonDir, false); + } + }.execute(); + } + +} diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectService.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectService.java similarity index 98% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectService.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectService.java index 6d56fe6b5962..028e449f6fda 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectService.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCProjectService.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jetbrains.plugins.coursecreator; +package com.jetbrains.edu.coursecreator; import com.intellij.ide.projectView.ProjectView; import com.intellij.openapi.actionSystem.AnActionEvent; @@ -29,10 +29,10 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.util.xmlb.XmlSerializer; +import com.jetbrains.edu.coursecreator.format.*; import org.jdom.Element; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.format.*; import java.io.File; import java.util.Collection; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRefactoringElementListenerProvider.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCRefactoringElementListenerProvider.java similarity index 90% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRefactoringElementListenerProvider.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCRefactoringElementListenerProvider.java index 9ff6aa77fd44..50a4693d29cc 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCRefactoringElementListenerProvider.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCRefactoringElementListenerProvider.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jetbrains.plugins.coursecreator; +package com.jetbrains.edu.coursecreator; import com.intellij.openapi.application.ApplicationManager; import com.intellij.psi.PsiDirectory; @@ -22,13 +22,13 @@ import com.intellij.psi.PsiFile; import com.intellij.refactoring.listeners.RefactoringElementAdapter; import com.intellij.refactoring.listeners.RefactoringElementListener; import com.intellij.refactoring.listeners.RefactoringElementListenerProvider; +import com.jetbrains.edu.coursecreator.actions.CCRunTestsAction; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.Lesson; +import com.jetbrains.edu.coursecreator.format.Task; +import com.jetbrains.edu.coursecreator.format.TaskFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.actions.CCRunTestsAction; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.format.Lesson; -import org.jetbrains.plugins.coursecreator.format.Task; -import org.jetbrains.plugins.coursecreator.format.TaskFile; import java.util.Map; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCUtils.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java similarity index 97% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCUtils.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java index e2cc9d575638..130952e8ebaa 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCUtils.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/CCUtils.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator; +package com.jetbrains.edu.coursecreator; import com.intellij.ide.projectView.actions.MarkRootActionBase; import com.intellij.openapi.application.ApplicationManager; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCAddTaskWindow.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAddTaskWindow.java similarity index 96% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCAddTaskWindow.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAddTaskWindow.java index 244de123a33d..17f62ce19ef8 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCAddTaskWindow.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCAddTaskWindow.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; @@ -13,10 +13,10 @@ import com.intellij.openapi.ui.DialogWrapper; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.*; +import com.jetbrains.edu.coursecreator.ui.CreateTaskWindowDialog; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.*; -import org.jetbrains.plugins.coursecreator.ui.CreateTaskWindowDialog; import java.util.List; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCChangeCourseInfo.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCChangeCourseInfo.java similarity index 93% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCChangeCourseInfo.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCChangeCourseInfo.java index 653af6c691f6..81ee890989bb 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCChangeCourseInfo.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCChangeCourseInfo.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.ide.IdeView; import com.intellij.ide.projectView.ProjectView; @@ -11,11 +11,11 @@ import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.psi.PsiDirectory; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.ui.CCNewProjectPanel; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.ui.CCNewProjectPanel; import javax.swing.*; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateCourseArchive.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateCourseArchive.java similarity index 97% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateCourseArchive.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateCourseArchive.java index a3d4f56e2b34..5a2cf63af8cb 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateCourseArchive.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateCourseArchive.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -18,11 +18,11 @@ import com.intellij.openapi.ui.Messages; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.util.io.ZipUtil; +import com.jetbrains.edu.coursecreator.CCDocumentListener; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.*; +import com.jetbrains.edu.coursecreator.ui.CreateCourseArchiveDialog; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCDocumentListener; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.*; -import org.jetbrains.plugins.coursecreator.ui.CreateCourseArchiveDialog; import java.io.*; import java.util.Collections; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateLesson.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateLesson.java similarity index 93% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateLesson.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateLesson.java index 58b950b5a637..a92bdd7a87fb 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateLesson.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateLesson.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.ide.IdeView; import com.intellij.ide.util.DirectoryChooserUtil; @@ -13,11 +13,11 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.psi.PsiDirectory; import com.intellij.util.PlatformIcons; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.Lesson; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.format.Lesson; public class CCCreateLesson extends DumbAwareAction { public CCCreateLesson() { diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTask.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateTask.java similarity index 94% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTask.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateTask.java index 216727cb266d..1a83436de9dd 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTask.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateTask.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.ide.IdeView; import com.intellij.ide.fileTemplates.FileTemplate; @@ -20,12 +20,12 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.util.PlatformIcons; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.CCUtils; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.Lesson; +import com.jetbrains.edu.coursecreator.format.Task; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.CCUtils; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.format.Lesson; -import org.jetbrains.plugins.coursecreator.format.Task; public class CCCreateTask extends DumbAwareAction { public CCCreateTask() { diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTaskFile.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateTaskFile.java similarity index 90% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTaskFile.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateTaskFile.java index 69b67190346a..6296ee839af4 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTaskFile.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCCreateTaskFile.java @@ -1,5 +1,6 @@ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; +import com.intellij.icons.AllIcons; import com.intellij.ide.IdeView; import com.intellij.ide.fileTemplates.FileTemplate; import com.intellij.ide.fileTemplates.FileTemplateManager; @@ -16,17 +17,16 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; -import icons.PythonPsiApiIcons; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.Lesson; +import com.jetbrains.edu.coursecreator.format.Task; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.format.Lesson; -import org.jetbrains.plugins.coursecreator.format.Task; public class CCCreateTaskFile extends DumbAwareAction { public CCCreateTaskFile() { - super("Task File", "Create new Task File", PythonPsiApiIcons.PythonFile); + super("Task File", "Create new Task File", AllIcons.FileTypes.Text); } @Override diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCDeleteTaskWindow.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCDeleteTaskWindow.java similarity index 83% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCDeleteTaskWindow.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCDeleteTaskWindow.java index f7245a05fe9f..a1ebd24f4c2e 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCDeleteTaskWindow.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCDeleteTaskWindow.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; @@ -6,11 +6,11 @@ import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.TaskFile; +import com.jetbrains.edu.coursecreator.format.TaskWindow; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.format.TaskFile; -import org.jetbrains.plugins.coursecreator.format.TaskWindow; import java.util.List; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRename.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRename.java similarity index 95% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRename.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRename.java index dbaee7590277..30265ae05b6e 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRename.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRename.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.ide.IdeView; import com.intellij.ide.projectView.ProjectView; @@ -26,9 +26,9 @@ import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiFile; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.Course; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.Course; import javax.swing.*; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRenameLesson.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRenameLesson.java similarity index 88% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRenameLesson.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRenameLesson.java index 3f580454ed6e..eaea9bf7e0ad 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRenameLesson.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRenameLesson.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.psi.PsiDirectory; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.format.Lesson; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.Lesson; public class CCRenameLesson extends CCRename { diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRenameTask.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRenameTask.java similarity index 87% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRenameTask.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRenameTask.java index 342621bf0d47..4690d0d1993f 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRenameTask.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRenameTask.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.psi.PsiDirectory; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.format.Lesson; -import org.jetbrains.plugins.coursecreator.format.Task; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.Lesson; +import com.jetbrains.edu.coursecreator.format.Task; public class CCRenameTask extends CCRename { public CCRenameTask() { diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRunTestsAction.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRunTestsAction.java similarity index 84% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRunTestsAction.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRunTestsAction.java index 777afc4e1a85..2d8d3a6980a3 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCRunTestsAction.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCRunTestsAction.java @@ -13,14 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; -import com.intellij.execution.*; +import com.intellij.execution.Location; import com.intellij.execution.actions.ConfigurationContext; -import com.intellij.execution.configurations.ConfigurationFactory; -import com.intellij.execution.executors.DefaultRunExecutor; import com.intellij.icons.AllIcons; -import com.intellij.ide.projectView.ProjectView; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.Presentation; @@ -32,25 +29,21 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; -import com.intellij.util.PathUtil; import com.intellij.util.containers.HashMap; -import com.jetbrains.python.run.PythonConfigurationType; -import com.jetbrains.python.run.PythonRunConfiguration; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.*; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.util.Map; -public class CCRunTestsAction extends AnAction { +public abstract class CCRunTestsAction extends AnAction { private static final Logger LOG = Logger.getInstance(CCRunTestsAction.class.getName()); public CCRunTestsAction() { @@ -114,7 +107,7 @@ public class CCRunTestsAction extends AnAction { run(context); } - public static void run(final @NotNull ConfigurationContext context) { + public void run(final @NotNull ConfigurationContext context) { ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override public void run() { @@ -199,34 +192,10 @@ public class CCRunTestsAction extends AnAction { } } - private static void executeTests(@NotNull final Project project, + protected abstract void executeTests(@NotNull final Project project, @NotNull final VirtualFile virtualFile, @NotNull final VirtualFile taskDir, - @NotNull final VirtualFile testFile) { - final ConfigurationFactory factory = PythonConfigurationType.getInstance().getConfigurationFactories()[0]; - final RunnerAndConfigurationSettings settings = - RunManager.getInstance(project).createRunConfiguration("test", factory); - - final PythonRunConfiguration configuration = (PythonRunConfiguration)settings.getConfiguration(); - configuration.setScriptName(testFile.getPath()); - VirtualFile userFile = taskDir.findChild(virtualFile.getNameWithoutExtension() + ".py"); - if (userFile == null) { - return; - } - VirtualFile ideaDir = project.getBaseDir().findChild(".idea"); - if (ideaDir == null) { - return; - } - VirtualFileManager.getInstance().refreshWithoutFileWatcher(true); - ProjectView.getInstance(project).refresh(); - VirtualFile courseDir = ideaDir.findChild("course"); - if (courseDir == null) { - return; - } - configuration.setScriptParameters(PathUtil.toSystemDependentName(courseDir.getPath()) + " " + PathUtil.toSystemDependentName(userFile.getPath())); - Executor executor = DefaultRunExecutor.getRunExecutorInstance(); - ProgramRunnerUtil.executeConfiguration(project, settings, executor); - } + @NotNull final VirtualFile testFile); @Nullable private static Task getTask(@NotNull final Course course, @NotNull final VirtualFile taskDir) { diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCShowPreview.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowPreview.java similarity index 94% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCShowPreview.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowPreview.java index 97a1b0300688..4578ba87388d 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCShowPreview.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowPreview.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.AnActionEvent; @@ -34,16 +34,15 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiFile; -import com.intellij.util.containers.hash.HashMap; -import com.jetbrains.python.PythonFileType; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.*; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.*; import javax.swing.*; import javax.swing.border.EmptyBorder; import java.text.SimpleDateFormat; import java.util.Calendar; +import java.util.HashMap; import java.util.Map; public class CCShowPreview extends DumbAwareAction { @@ -118,7 +117,7 @@ public class CCShowPreview extends DumbAwareAction { if (document == null) { return; } - final EditorEx createdEditor = (EditorEx)factory.createEditor(document, project, PythonFileType.INSTANCE, true); + final EditorEx createdEditor = (EditorEx)factory.createEditor(document, project, userFile, true); Disposer.register(project, new Disposable() { public void dispose() { factory.releaseEditor(createdEditor); diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCShowTaskWindowDetails.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowTaskWindowDetails.java similarity index 85% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCShowTaskWindowDetails.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowTaskWindowDetails.java index e8ae02bf44fa..fc235c2e8c69 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCShowTaskWindowDetails.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCShowTaskWindowDetails.java @@ -1,12 +1,12 @@ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiFile; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.*; +import com.jetbrains.edu.coursecreator.ui.CreateTaskWindowDialog; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.*; -import org.jetbrains.plugins.coursecreator.ui.CreateTaskWindowDialog; public class CCShowTaskWindowDetails extends CCTaskWindowAction { diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCTaskWindowAction.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCTaskWindowAction.java similarity index 93% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCTaskWindowAction.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCTaskWindowAction.java index 1917c308c1e7..1d7a8e31adca 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCTaskWindowAction.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/actions/CCTaskWindowAction.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.actions; +package com.jetbrains.edu.coursecreator.actions; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; @@ -8,11 +8,11 @@ import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.TaskFile; +import com.jetbrains.edu.coursecreator.format.TaskWindow; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.TaskFile; -import org.jetbrains.plugins.coursecreator.format.TaskWindow; import javax.swing.*; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/Course.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/Course.java similarity index 96% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/Course.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/Course.java index e9af3472f260..7d725e7b19c9 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/Course.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/Course.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.format; +package com.jetbrains.edu.coursecreator.format; import com.google.gson.annotations.Expose; import com.intellij.psi.PsiDirectory; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/Lesson.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/Lesson.java similarity index 96% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/Lesson.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/Lesson.java index bd91e8ec30af..360c37244a1a 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/Lesson.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/Lesson.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.format; +package com.jetbrains.edu.coursecreator.format; import com.google.gson.annotations.Expose; import com.intellij.psi.PsiDirectory; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/Task.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/Task.java similarity index 91% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/Task.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/Task.java index 886add86ceb4..453fa007b28b 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/Task.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/Task.java @@ -1,8 +1,8 @@ -package org.jetbrains.plugins.coursecreator.format; +package com.jetbrains.edu.coursecreator.format; import com.google.gson.annotations.Expose; +import com.jetbrains.edu.coursecreator.CCProjectService; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; import java.util.HashMap; import java.util.Map; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/TaskFile.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/TaskFile.java similarity index 98% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/TaskFile.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/TaskFile.java index 9fb10eaa179a..df5e5d0bc521 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/TaskFile.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/TaskFile.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.format; +package com.jetbrains.edu.coursecreator.format; import com.google.gson.annotations.Expose; import com.intellij.openapi.editor.Document; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/TaskWindow.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/TaskWindow.java similarity index 97% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/TaskWindow.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/TaskWindow.java index 385aaeddf26e..edcca8a7e7e7 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/format/TaskWindow.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/format/TaskWindow.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.format; +package com.jetbrains.edu.coursecreator.format; import com.google.gson.annotations.Expose; import com.intellij.openapi.editor.Document; @@ -14,8 +14,8 @@ import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.JBColor; +import com.jetbrains.edu.coursecreator.CCProjectService; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; import java.io.File; import java.util.List; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/projectView/CCDirectoryNode.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/projectView/CCDirectoryNode.java similarity index 88% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/projectView/CCDirectoryNode.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/projectView/CCDirectoryNode.java index 0969c54563c2..eb48a7af42a8 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/projectView/CCDirectoryNode.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/projectView/CCDirectoryNode.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.projectView; +package com.jetbrains.edu.coursecreator.projectView; import com.intellij.ide.projectView.PresentationData; import com.intellij.ide.projectView.ViewSettings; @@ -6,11 +6,11 @@ import com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDirectory; import com.intellij.ui.SimpleTextAttributes; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.Course; +import com.jetbrains.edu.coursecreator.format.Lesson; +import com.jetbrains.edu.coursecreator.format.Task; import org.jetbrains.annotations.NotNull; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.Course; -import org.jetbrains.plugins.coursecreator.format.Lesson; -import org.jetbrains.plugins.coursecreator.format.Task; public class CCDirectoryNode extends PsiDirectoryNode { private final PsiDirectory myValue; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/projectView/CCTreeStructureProvider.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/projectView/CCTreeStructureProvider.java similarity index 95% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/projectView/CCTreeStructureProvider.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/projectView/CCTreeStructureProvider.java index 89d09f73c28c..e3a0ae7a3127 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/projectView/CCTreeStructureProvider.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/projectView/CCTreeStructureProvider.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.projectView; +package com.jetbrains.edu.coursecreator.projectView; import com.intellij.ide.projectView.TreeStructureProvider; import com.intellij.ide.projectView.ViewSettings; @@ -8,9 +8,9 @@ import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiDirectory; +import com.jetbrains.edu.coursecreator.CCProjectService; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.CCProjectService; import java.util.ArrayList; import java.util.Collection; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CCNewProjectPanel.form b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCNewProjectPanel.form similarity index 97% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CCNewProjectPanel.form rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCNewProjectPanel.form index d0a931467943..67b2e6c3e5fe 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CCNewProjectPanel.form +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCNewProjectPanel.form @@ -1,5 +1,5 @@ -
+ diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CCNewProjectPanel.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCNewProjectPanel.java similarity index 97% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CCNewProjectPanel.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCNewProjectPanel.java index 82041dc7734f..116104929d68 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CCNewProjectPanel.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CCNewProjectPanel.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.ui; +package com.jetbrains.edu.coursecreator.ui; import com.intellij.facet.ui.FacetValidatorsManager; import com.intellij.openapi.util.text.StringUtil; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateCourseArchiveDialog.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateCourseArchiveDialog.java similarity index 88% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateCourseArchiveDialog.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateCourseArchiveDialog.java index 0ce36e3f2cc5..6412f30b99e0 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateCourseArchiveDialog.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateCourseArchiveDialog.java @@ -1,10 +1,10 @@ -package org.jetbrains.plugins.coursecreator.ui; +package com.jetbrains.edu.coursecreator.ui; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; +import com.jetbrains.edu.coursecreator.actions.CCCreateCourseArchive; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.actions.CCCreateCourseArchive; import javax.swing.*; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateCourseArchivePanel.form b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateCourseArchivePanel.form similarity index 97% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateCourseArchivePanel.form rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateCourseArchivePanel.form index 096a85f8da59..ca2414a7c282 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateCourseArchivePanel.form +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateCourseArchivePanel.form @@ -1,5 +1,5 @@ - + diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateCourseArchivePanel.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateCourseArchivePanel.java similarity index 97% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateCourseArchivePanel.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateCourseArchivePanel.java index 4e7deedf7e47..293426598828 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateCourseArchivePanel.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateCourseArchivePanel.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.ui; +package com.jetbrains.edu.coursecreator.ui; import com.intellij.icons.AllIcons; import com.intellij.openapi.fileChooser.FileChooserDescriptor; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowDialog.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowDialog.java similarity index 97% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowDialog.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowDialog.java index bcde449693b0..fc0a094623c4 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowDialog.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowDialog.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.ui; +package com.jetbrains.edu.coursecreator.ui; import com.intellij.ide.projectView.ProjectView; import com.intellij.openapi.diagnostic.Logger; @@ -8,10 +8,10 @@ import com.intellij.openapi.ui.ValidationInfo; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; +import com.jetbrains.edu.coursecreator.CCProjectService; +import com.jetbrains.edu.coursecreator.format.TaskWindow; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.coursecreator.CCProjectService; -import org.jetbrains.plugins.coursecreator.format.TaskWindow; import javax.swing.*; import java.io.*; diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowPanel.form b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.form similarity index 98% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowPanel.form rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.form index 5348fbbc016f..182dd58629e8 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowPanel.form +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.form @@ -1,5 +1,5 @@ - + diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowPanel.java b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.java similarity index 98% rename from python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowPanel.java rename to python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.java index a09945718aaa..9ab4d9a8c448 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowPanel.java +++ b/python/educational/course-creator/src/com/jetbrains/edu/coursecreator/ui/CreateTaskWindowPanel.java @@ -1,4 +1,4 @@ -package org.jetbrains.plugins.coursecreator.ui; +package com.jetbrains.edu.coursecreator.ui; import com.intellij.ui.DocumentAdapter; diff --git a/python/educational/educational.iml b/python/educational/educational.iml new file mode 100644 index 000000000000..c90834f2d607 --- /dev/null +++ b/python/educational/educational.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/python/educational/interactive-learning/interactive-learning.iml b/python/educational/interactive-learning/interactive-learning.iml new file mode 100644 index 000000000000..c90834f2d607 --- /dev/null +++ b/python/educational/interactive-learning/interactive-learning.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file