mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-201599 Don't show 'Version must be specified' error in plugin.xml files for plugins developed via gradle-intellij-plugin
This commit is contained in:
@@ -51,6 +51,7 @@ import org.jetbrains.idea.devkit.dom.Action;
|
||||
import org.jetbrains.idea.devkit.dom.*;
|
||||
import org.jetbrains.idea.devkit.dom.impl.PluginPsiClassConverter;
|
||||
import org.jetbrains.idea.devkit.inspections.quickfix.AddWithTagFix;
|
||||
import org.jetbrains.idea.devkit.module.PluginModuleType;
|
||||
import org.jetbrains.idea.devkit.util.PsiUtil;
|
||||
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
|
||||
|
||||
@@ -187,7 +188,9 @@ public class PluginXmlDomInspection extends BasicDomElementsInspection<IdeaPlugi
|
||||
|
||||
boolean isNotIdeaProject = !PsiUtil.isIdeaProject(module.getProject());
|
||||
|
||||
if (isNotIdeaProject && !DomUtil.hasXml(ideaPlugin.getVersion())) {
|
||||
if (isNotIdeaProject &&
|
||||
!DomUtil.hasXml(ideaPlugin.getVersion()) &&
|
||||
PluginModuleType.isOfType(module)) {
|
||||
holder.createProblem(ideaPlugin, DevKitBundle.message("inspections.plugin.xml.version.must.be.specified"),
|
||||
new AddMissingMainTag("Add <version>", ideaPlugin.getVersion(), ""));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<idea-plugin>
|
||||
<id>test</id>
|
||||
<vendor>JetBrains</vendor>
|
||||
</idea-plugin>
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
<<error descr="<version> must be specified">idea-plugin</error>>
|
||||
<id>test</id>
|
||||
<vendor>JetBrains</vendor>
|
||||
</idea-plugin>
|
||||
+5
@@ -367,6 +367,11 @@ class PluginXmlFunctionalTest extends JavaCodeInsightFixtureTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
void testPluginWithoutVersion() {
|
||||
doHighlightingTest("pluginWithoutVersion.xml")
|
||||
testHighlightingInIdeaProject("pluginWithoutVersion.xml")
|
||||
}
|
||||
|
||||
void testOrderAttributeHighlighting() {
|
||||
doHighlightingTest("orderAttributeHighlighting.xml")
|
||||
}
|
||||
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package org.jetbrains.idea.devkit.codeInsight;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.idea.devkit.DevkitJavaTestsUtil;
|
||||
import org.jetbrains.idea.devkit.inspections.PluginModuleTestCase;
|
||||
import org.jetbrains.idea.devkit.inspections.PluginXmlDomInspection;
|
||||
|
||||
@TestDataPath("$CONTENT_ROOT/testData/codeInsight")
|
||||
public class PluginXmlPluginModuleTest extends PluginModuleTestCase {
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
myFixture.enableInspections(new PluginXmlDomInspection());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return DevkitJavaTestsUtil.TESTDATA_PATH + "codeInsight";
|
||||
}
|
||||
|
||||
public void testPluginWithoutVersionInPluginModule() {
|
||||
myFixture.testHighlighting(false, false, false, "pluginWithoutVersionInPluginModule.xml");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user