diff --git a/generators/generators.iml b/generators/generators.iml
index 7ed1ecd25ba..de8dcb380b4 100644
--- a/generators/generators.iml
+++ b/generators/generators.iml
@@ -43,5 +43,6 @@
+
\ No newline at end of file
diff --git a/idea-runner/idea-runner.iml b/idea-runner/idea-runner.iml
index 1080d2dffd5..5a92c8b9b7f 100644
--- a/idea-runner/idea-runner.iml
+++ b/idea-runner/idea-runner.iml
@@ -10,5 +10,6 @@
+
\ No newline at end of file
diff --git a/idea/idea-gradle/idea-gradle.iml b/idea/idea-gradle/idea-gradle.iml
index 27be60e02b4..3c02f5bffbe 100644
--- a/idea/idea-gradle/idea-gradle.iml
+++ b/idea/idea-gradle/idea-gradle.iml
@@ -4,6 +4,7 @@
+
diff --git a/idea/src/META-INF/gradle.xml b/idea/idea-gradle/src/META-INF/gradle.xml
similarity index 100%
rename from idea/src/META-INF/gradle.xml
rename to idea/idea-gradle/src/META-INF/gradle.xml
diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/inspections/gradle/DifferentKotlinGradleVersionInspection.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/inspections/gradle/DifferentKotlinGradleVersionInspection.kt
index cb1b189ae5e..cb61b0adb3f 100644
--- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/inspections/gradle/DifferentKotlinGradleVersionInspection.kt
+++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/inspections/gradle/DifferentKotlinGradleVersionInspection.kt
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.idea.inspections.gradle
import org.jetbrains.annotations.TestOnly
+import org.jetbrains.kotlin.idea.inspections.PluginVersionDependentInspection
import org.jetbrains.kotlin.idea.versions.bundledRuntimeVersion
import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
@@ -36,8 +37,8 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals
import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrCallExpression
import java.util.*
-class DifferentKotlinGradleVersionInspection : GradleBaseInspection() {
- var testVersionMessage: String? = null
+class DifferentKotlinGradleVersionInspection : GradleBaseInspection(), PluginVersionDependentInspection{
+ override var testVersionMessage: String? = null
@TestOnly set
override fun buildVisitor(): BaseInspectionVisitor = MyVisitor()
diff --git a/idea/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt
similarity index 99%
rename from idea/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt
index db2a1ea2998..72a0450b412 100644
--- a/idea/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt
+++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2010-2016 JetBrains s.r.o.
+ * Copyright 2010-2017 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.
diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/AbstractModelBuilderTest.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/AbstractModelBuilderTest.java
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/AbstractModelBuilderTest.java
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/AbstractModelBuilderTest.java
diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemImportingTestCase.java
diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemTestCase.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemTestCase.java
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemTestCase.java
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/ExternalSystemTestCase.java
diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleConfiguratorTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleConfiguratorTest.kt
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleConfiguratorTest.kt
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleConfiguratorTest.kt
diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt
diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.java
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.java
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.java
diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleInspectionTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleInspectionTest.kt
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleInspectionTest.kt
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleInspectionTest.kt
diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleUpdateConfigurationQuickFixTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleUpdateConfigurationQuickFixTest.kt
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleUpdateConfigurationQuickFixTest.kt
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleUpdateConfigurationQuickFixTest.kt
diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/VersionMatcherRule.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/VersionMatcherRule.java
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/VersionMatcherRule.java
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/VersionMatcherRule.java
diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt
similarity index 97%
rename from idea/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt
index d67525267b7..06c548f41ba 100644
--- a/idea/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt
+++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2010-2016 JetBrains s.r.o.
+ * Copyright 2010-2017 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.
diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java
similarity index 100%
rename from idea/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java
rename to idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java
diff --git a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/inspections/DifferentKotlinMavenVersionInspection.kt b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/inspections/DifferentKotlinMavenVersionInspection.kt
index f222d67bdc7..95984be8061 100644
--- a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/inspections/DifferentKotlinMavenVersionInspection.kt
+++ b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/inspections/DifferentKotlinMavenVersionInspection.kt
@@ -24,13 +24,14 @@ import org.jetbrains.annotations.TestOnly
import org.jetbrains.idea.maven.dom.model.MavenDomPlugin
import org.jetbrains.idea.maven.dom.model.MavenDomProjectModel
import org.jetbrains.idea.maven.project.MavenProjectsManager
+import org.jetbrains.kotlin.idea.inspections.PluginVersionDependentInspection
import org.jetbrains.kotlin.idea.maven.PomFile
import org.jetbrains.kotlin.idea.versions.bundledRuntimeVersion
-class DifferentKotlinMavenVersionInspection : DomElementsInspection(MavenDomProjectModel::class.java) {
+class DifferentKotlinMavenVersionInspection : DomElementsInspection(MavenDomProjectModel::class.java), PluginVersionDependentInspection {
private val idePluginVersion by lazy { bundledRuntimeVersion() }
- var testVersionMessage: String? = null
+ override var testVersionMessage: String? = null
@TestOnly set
override fun checkFileElement(domFileElement: DomFileElement?, holder: DomElementAnnotationHolder?) {
diff --git a/idea/idea.iml b/idea/idea.iml
index a6e7a55dfc6..3d53da45eb7 100644
--- a/idea/idea.iml
+++ b/idea/idea.iml
@@ -66,7 +66,6 @@
-
\ No newline at end of file
diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/PluginVersionDependentInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/PluginVersionDependentInspection.kt
new file mode 100644
index 00000000000..34f94bf71d4
--- /dev/null
+++ b/idea/src/org/jetbrains/kotlin/idea/inspections/PluginVersionDependentInspection.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2010-2017 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.inspections
+
+import org.jetbrains.annotations.TestOnly
+
+interface PluginVersionDependentInspection {
+ var testVersionMessage: String?
+ @TestOnly set
+}
\ No newline at end of file
diff --git a/idea/tests/org/jetbrains/kotlin/idea/inspections/InspectionUtils.kt b/idea/tests/org/jetbrains/kotlin/idea/inspections/InspectionUtils.kt
index 149cc28fb1d..5c4fc940cbe 100644
--- a/idea/tests/org/jetbrains/kotlin/idea/inspections/InspectionUtils.kt
+++ b/idea/tests/org/jetbrains/kotlin/idea/inspections/InspectionUtils.kt
@@ -24,10 +24,6 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.testFramework.InspectionTestUtil
import com.intellij.testFramework.createGlobalContextForTool
-import com.intellij.util.xml.highlighting.DomElementsInspection
-import org.jetbrains.kotlin.idea.inspections.gradle.DifferentKotlinGradleVersionInspection
-import org.jetbrains.kotlin.idea.maven.inspections.DifferentKotlinMavenVersionInspection
-import org.jetbrains.plugins.gradle.codeInspection.GradleBaseInspection
fun runInspection(
inspection: LocalInspectionTool, project: Project, files: List? = null, withTestDir: String? = null
@@ -35,11 +31,8 @@ fun runInspection(
val wrapper = LocalInspectionToolWrapper(inspection)
val tool = wrapper.tool
- if (tool is DomElementsInspection<*> || tool is GradleBaseInspection) {
- when (tool) {
- is DifferentKotlinMavenVersionInspection -> tool.testVersionMessage = "\$PLUGIN_VERSION"
- is DifferentKotlinGradleVersionInspection -> tool.testVersionMessage = "\$PLUGIN_VERSION"
- }
+ if (tool is PluginVersionDependentInspection) {
+ tool.testVersionMessage = "\$PLUGIN_VERSION"
}
val scope = if (files != null) AnalysisScope(project, files) else AnalysisScope(project)