diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/configuration/JetModuleTypeManager.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/configuration/JetModuleTypeManager.java
index f2d78f69ff9..6a392b2863b 100644
--- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/configuration/JetModuleTypeManager.java
+++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/configuration/JetModuleTypeManager.java
@@ -18,9 +18,6 @@ package org.jetbrains.kotlin.idea.configuration;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.module.Module;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
public abstract class JetModuleTypeManager {
@@ -28,8 +25,6 @@ public abstract class JetModuleTypeManager {
return ServiceManager.getService(JetModuleTypeManager.class);
}
- public abstract boolean isKtFileInGradleProjectInWrongFolder(@NotNull PsiElement element);
- public abstract boolean isKtFileInGradleProjectInWrongFolder(@NotNull VirtualFile virtualFile, @NotNull Project project);
public abstract boolean isAndroidGradleModule(@NotNull Module module);
public boolean isGradleModule(@NotNull Module module) {
return ModuleTypeCacheManager.OBJECT$.geInstance(module.getProject()).isGradleModule(module);
diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt
index 5ac0f8889ed..00fe4a92eab 100644
--- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt
+++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt
@@ -34,7 +34,7 @@ public object ProjectRootsUtil {
fileIndex: ProjectFileIndex = ProjectFileIndex.SERVICE.getInstance(project),
isJsProject: Boolean? = null): Boolean {
if (includeProjectSource && fileIndex.isInSourceContent(file)) {
- return !JetModuleTypeManager.getInstance()!!.isKtFileInGradleProjectInWrongFolder(file, project)
+ return true
}
if (!includeLibraryClasses && !includeLibrarySource) return false
diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml
index bc7f8b27da3..9882ef28fb1 100644
--- a/idea/src/META-INF/plugin.xml
+++ b/idea/src/META-INF/plugin.xml
@@ -423,7 +423,6 @@
-
diff --git a/idea/src/org/jetbrains/kotlin/idea/JetModuleTypeManagerImpl.java b/idea/src/org/jetbrains/kotlin/idea/JetModuleTypeManagerImpl.java
index c27b7f1f38d..bf0dbe5e6fe 100644
--- a/idea/src/org/jetbrains/kotlin/idea/JetModuleTypeManagerImpl.java
+++ b/idea/src/org/jetbrains/kotlin/idea/JetModuleTypeManagerImpl.java
@@ -18,53 +18,11 @@ package org.jetbrains.kotlin.idea;
import com.intellij.facet.Facet;
import com.intellij.facet.FacetManager;
-import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.module.Module;
-import com.intellij.openapi.module.ModuleUtilCore;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.ProjectRootManager;
-import com.intellij.openapi.util.Computable;
-import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.psi.PsiElement;
-import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.idea.configuration.JetModuleTypeManager;
public class JetModuleTypeManagerImpl extends JetModuleTypeManager {
- @Override
- public boolean isKtFileInGradleProjectInWrongFolder(@NotNull final PsiElement element) {
- return ApplicationManager.getApplication().runReadAction(new Computable() {
- @Override
- public Boolean compute() {
- PsiFile containingFile = element.getContainingFile();
- if (containingFile == null) {
- return false;
- }
- VirtualFile virtualFile = containingFile.getVirtualFile();
- if (virtualFile == null) {
- return false;
- }
- return isKtFileInGradleProjectInWrongFolder(virtualFile, element.getProject());
- }
- });
- }
-
- @Override
- public boolean isKtFileInGradleProjectInWrongFolder(@NotNull VirtualFile virtualFile, @NotNull Project project) {
- Module module = ModuleUtilCore.findModuleForFile(virtualFile, project);
- if (module == null) return false;
-
- if (!isAndroidGradleModule(module) && !isGradleModule(module)) {
- return false;
- }
-
- VirtualFile sourceRootForFile = ProjectRootManager.getInstance(project).getFileIndex().getSourceRootForFile(virtualFile);
- if (sourceRootForFile != null) {
- return !sourceRootForFile.getName().equals("kotlin");
- }
- return false;
- }
-
@Override
public boolean isAndroidGradleModule(@NotNull Module module) {
// We don't want to depend on the Android-Gradle plugin
diff --git a/idea/src/org/jetbrains/kotlin/idea/JetPluginUtil.java b/idea/src/org/jetbrains/kotlin/idea/JetPluginUtil.java
index 6bf7c46f40f..f2e8ddd1322 100644
--- a/idea/src/org/jetbrains/kotlin/idea/JetPluginUtil.java
+++ b/idea/src/org/jetbrains/kotlin/idea/JetPluginUtil.java
@@ -21,9 +21,6 @@ import com.intellij.ide.plugins.PluginManager;
import com.intellij.ide.plugins.PluginManagerCore;
import com.intellij.openapi.extensions.PluginId;
import com.intellij.openapi.module.Module;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.idea.configuration.JetModuleTypeManager;
@@ -38,14 +35,6 @@ public class JetPluginUtil {
return plugin.getVersion();
}
- public static boolean isKtFileInGradleProjectInWrongFolder(@NotNull PsiElement element) {
- return JetModuleTypeManager.getInstance().isKtFileInGradleProjectInWrongFolder(element);
- }
-
- public static boolean isKtFileInGradleProjectInWrongFolder(@NotNull VirtualFile virtualFile, @NotNull Project project) {
- return JetModuleTypeManager.getInstance().isKtFileInGradleProjectInWrongFolder(virtualFile, project);
- }
-
public static boolean isAndroidGradleModule(@NotNull Module module) {
return JetModuleTypeManager.getInstance().isAndroidGradleModule(module);
}
diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/IncorrectSourceRootNameNotification.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/IncorrectSourceRootNameNotification.java
deleted file mode 100644
index 83a254730f7..00000000000
--- a/idea/src/org/jetbrains/kotlin/idea/quickfix/IncorrectSourceRootNameNotification.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 2010-2015 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.kotlin.idea.quickfix;
-
-import com.intellij.ide.actions.OpenFileAction;
-import com.intellij.openapi.application.ApplicationManager;
-import com.intellij.openapi.compiler.CompilerManager;
-import com.intellij.openapi.fileEditor.FileEditor;
-import com.intellij.openapi.module.Module;
-import com.intellij.openapi.module.ModuleUtilCore;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.ModuleRootManager;
-import com.intellij.openapi.roots.ProjectRootManager;
-import com.intellij.openapi.util.Key;
-import com.intellij.openapi.vfs.VfsUtil;
-import com.intellij.openapi.vfs.VfsUtilCore;
-import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.ui.EditorNotificationPanel;
-import com.intellij.ui.EditorNotifications;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.jetbrains.kotlin.idea.JetFileType;
-import org.jetbrains.kotlin.idea.JetPluginUtil;
-
-import java.io.IOException;
-
-public class IncorrectSourceRootNameNotification extends EditorNotifications.Provider {
- private static final Key KEY = Key.create("move.kotlin.file.under.kotlin.source.root");
-
- private final Project project;
-
- public IncorrectSourceRootNameNotification(Project project) {
- this.project = project;
- }
-
- @Override
- @Nullable
- public EditorNotificationPanel createNotificationPanel(@NotNull final VirtualFile file, @NotNull FileEditor fileEditor) {
- if (file.getFileType() != JetFileType.INSTANCE) return null;
- if (CompilerManager.getInstance(project).isExcludedFromCompilation(file)) return null;
-
- if (!JetPluginUtil.isKtFileInGradleProjectInWrongFolder(file, project)) {
- return null;
- }
-
- Module module = ModuleUtilCore.findModuleForFile(file, project);
- if (module == null) return null;
-
- EditorNotificationPanel panel = new EditorNotificationPanel();
- panel.setText("Kotlin file in Gradle Project should be under source root with name 'kotlin'");
-
- ModuleRootManager moduleManager = ModuleRootManager.getInstance(module);
- boolean isInTestSourceRoot = moduleManager.getFileIndex().isInTestSourceContent(file);
-
- for (final VirtualFile root : moduleManager.getSourceRoots(isInTestSourceRoot)) {
- if (root.getName().equals("kotlin") && moduleManager.getFileIndex().isInTestSourceContent(root) == isInTestSourceRoot) {
- VirtualFile sourceRootForFile = ProjectRootManager.getInstance(project).getFileIndex().getSourceRootForFile(file);
- assert sourceRootForFile != null : "Notification Panel should appear only for files under source root " +
- file.getCanonicalPath();
- final String relativePath = VfsUtilCore.getRelativePath(file, sourceRootForFile, '/');
- if (relativePath != null) {
- VirtualFile inKotlinDir = VfsUtil.findRelativeFile(root, relativePath.split("/"));
- if (inKotlinDir == null) {
- panel.createActionLabel("Move file", new Runnable() {
- @Override
- public void run() {
- ApplicationManager.getApplication().runWriteAction(new Runnable() {
- @Override
- public void run() {
- try {
- VirtualFile newFile = VfsUtil.
- copyFileRelative(IncorrectSourceRootNameNotification.class, file, root, relativePath);
- file.delete(IncorrectSourceRootNameNotification.class);
- OpenFileAction.openFile(newFile, project);
- }
- catch (IOException ignored) {
- }
- }
- });
- }
- });
- break;
- }
- }
- }
- }
- return panel;
- }
-
- @Override
- public Key getKey() {
- return KEY;
- }
-}