diff --git a/idea-plugin/gradle.properties b/idea-plugin/gradle.properties index 5238fd2137d33685e84f943398b1b464d636bbcb..87c72adfa678ab2e67390c34fc3ff8eee2113afd 100644 --- a/idea-plugin/gradle.properties +++ b/idea-plugin/gradle.properties @@ -1,8 +1,8 @@ -kotlin_version=1.3.30 +kotlin_version=1.3.50 #idea_version=171.3780.15 idea_version=145.258.11 plugin_name=Alibaba Java Coding Guidelines gradle_jetbrains_version=0.4.5 systemProp.file.encoding=UTF-8 -plugin_version=2.0.0 +plugin_version=2.0.1 diff --git a/idea-plugin/p3c-common/build.gradle b/idea-plugin/p3c-common/build.gradle index e86c26a1d9ad2bd156517ff751ab251c58e0fe47..94a1976ee4a65c595b743b9e9b9ef698f65296f5 100644 --- a/idea-plugin/p3c-common/build.gradle +++ b/idea-plugin/p3c-common/build.gradle @@ -26,19 +26,27 @@ artifacts { archives sourcesJar } +def myPlugins = [] + +if (idea_version.startsWith('193.') || idea_version.startsWith('2019.3')) { + myPlugins = ['java'] +} + + intellij { version idea_version + plugins = myPlugins pluginName plugin_name updateSinceUntilBuild false sandboxDirectory "$project.buildDir/idea-sandbox/$idea_version" } -version '2.0.0' +version '2.0.1' ext.isReleaseVersion = !version.endsWith("SNAPSHOT") dependencies { compile group: 'org.freemarker', name: 'freemarker', version: '2.3.25-incubating' - compile 'com.alibaba.p3c:p3c-pmd:2.0.0' + compile 'com.alibaba.p3c:p3c-pmd:2.0.1' compile group: 'org.javassist', name: 'javassist', version: '3.21.0-GA' } diff --git a/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/action/AliInspectionAction.kt b/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/action/AliInspectionAction.kt index e5c71999def37b6e1b29986c89ffa842332edd29..f7c6ef97c39880db7a647ec3dda70c7111491aef 100644 --- a/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/action/AliInspectionAction.kt +++ b/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/action/AliInspectionAction.kt @@ -33,7 +33,6 @@ import com.intellij.codeInspection.ui.InspectionResultsView import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.CommonDataKeys -import com.intellij.openapi.actionSystem.DataKeys import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.module.Module @@ -60,9 +59,9 @@ class AliInspectionAction : AnAction() { val toolWrappers = Inspections.aliInspections(project) { it.tool is AliBaseInspection } - val psiElement = e.getData(DataKeys.PSI_ELEMENT) - val psiFile = e.getData(DataKeys.PSI_FILE) - val virtualFile = e.getData(DataKeys.VIRTUAL_FILE) + val psiElement = e.getData(CommonDataKeys.PSI_ELEMENT) + val psiFile = e.getData(CommonDataKeys.PSI_FILE) + val virtualFile = e.getData(CommonDataKeys.VIRTUAL_FILE) val virtualFiles = e.getData>(CommonDataKeys.VIRTUAL_FILE_ARRAY) var analysisScope: AnalysisScope? = null var projectDir = false diff --git a/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/inspection/AliLocalInspectionToolProvider.kt b/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/inspection/AliLocalInspectionToolProvider.kt index 77642fabf1961e328cd623e37ffbd9480836d725..0b4ff573315968a1e845e1e4186ee5a5b2844877 100644 --- a/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/inspection/AliLocalInspectionToolProvider.kt +++ b/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/inspection/AliLocalInspectionToolProvider.kt @@ -48,7 +48,7 @@ import javax.annotation.Generated */ class AliLocalInspectionToolProvider : InspectionToolProvider { - override fun getInspectionClasses(): Array> { + override fun getInspectionClasses(): Array> { return CLASS_LIST.toTypedArray() } @@ -68,7 +68,7 @@ class AliLocalInspectionToolProvider : InspectionToolProvider { val ruleInfoMap: MutableMap = Maps.newHashMap() private val LOGGER = Logger.getInstance(AliLocalInspectionToolProvider::class.java) val ruleNames: MutableList = Lists.newArrayList()!! - private val CLASS_LIST = Lists.newArrayList>() + private val CLASS_LIST = Lists.newArrayList>() private val nativeInspectionToolClass = arrayListOf>( AliMissingOverrideAnnotationInspection::class.java, AliAccessStaticViaInstanceInspection::class.java, @@ -130,7 +130,7 @@ class AliLocalInspectionToolProvider : InspectionToolProvider { val toolClass = pool.get(LocalInspectionTool::class.java.name) val newField = CtField(toolClass, "forJavassist", cc) cc.addField(newField, CtField.Initializer.byNew(itClass)) - CLASS_LIST.add(cc.toClass()) + CLASS_LIST.add(cc.toClass() as Class) } } @@ -150,7 +150,7 @@ class AliLocalInspectionToolProvider : InspectionToolProvider { val value = "\"" + ruleInfo.rule.name + "\"" val newField = CtField.make("private String ruleName = $value;", cc) cc.addField(newField, value) - CLASS_LIST.add(cc.toClass()) + CLASS_LIST.add(cc.toClass() as Class) } } catch (e: NotFoundException) { diff --git a/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/vcs/AliCodeAnalysisCheckinHandler.kt b/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/vcs/AliCodeAnalysisCheckinHandler.kt index 2bfda7a8fa7cebae9882e4c2db8d6c7e433c75fb..eb026da62d94d8641ceb05b9d0c04b81ad306bff 100644 --- a/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/vcs/AliCodeAnalysisCheckinHandler.kt +++ b/idea-plugin/p3c-common/src/main/kotlin/com/alibaba/p3c/idea/vcs/AliCodeAnalysisCheckinHandler.kt @@ -46,8 +46,8 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiManager import com.intellij.ui.NonFocusableCheckBox +import com.intellij.util.ExceptionUtil import com.intellij.util.PairConsumer -import com.intellij.vcsUtil.Rethrow import java.awt.BorderLayout import java.util.ArrayList import java.util.Arrays @@ -190,7 +190,7 @@ class AliCodeAnalysisCheckinHandler( }) if (!exception.isNull) { val t = exception.get() - Rethrow.reThrowRuntime(t) + ExceptionUtil.rethrowAllAsUnchecked(t) } return result.get() diff --git a/idea-plugin/p3c-idea/build.gradle b/idea-plugin/p3c-idea/build.gradle index 34adcfad907293fc29ddde46b27eaada4b97acd7..da6309d9030eeb6de3396dd7ca6dbba81f139e96 100644 --- a/idea-plugin/p3c-idea/build.gradle +++ b/idea-plugin/p3c-idea/build.gradle @@ -4,9 +4,15 @@ plugins { apply plugin: 'kotlin' apply plugin: 'idea' +def myPlugins = ['git4idea'] + +if (idea_version.startsWith('193.') || idea_version.startsWith('2019.3')) { + myPlugins = ['git4idea', 'java'] +} + intellij { version idea_version - plugins 'git4idea' + plugins = myPlugins pluginName plugin_name updateSinceUntilBuild false sandboxDirectory "idea-sandbox" diff --git a/idea-plugin/p3c-idea/src/main/resources/META-INF/plugin.xml b/idea-plugin/p3c-idea/src/main/resources/META-INF/plugin.xml index 3b678db7561eaf1f10995756740d3cef4e3f1b1b..48996a49ecdab0a7aae87499e4a5c393df5eb8c4 100755 --- a/idea-plugin/p3c-idea/src/main/resources/META-INF/plugin.xml +++ b/idea-plugin/p3c-idea/src/main/resources/META-INF/plugin.xml @@ -6,6 +6,14 @@ + 2.0.1 +
  • Fix idea 2019.3 compatibility issue
  • +
  • fix https://github.com/alibaba/p3c/issues/540
  • +
  • fix https://github.com/alibaba/p3c/issues/209
  • +
  • fix https://github.com/alibaba/p3c/issues/579
  • +
  • Add code style rule of lock
  • + +
      2.0.0
    • supported min idea version 2016.1(145.258.11)
    • supported min jdk version 1.8