From ba34ed89d30f01bd5899e8bbade35fe976c1b024 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 7 Jun 2017 20:30:25 +0300 Subject: [PATCH] Allow to report exceptions in internal mode when updates are available --- .../idea/actions/internal/KotlinInternalMode.kt | 2 +- .../kotlin/idea/reporter/KotlinReportSubmitter.kt | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/actions/internal/KotlinInternalMode.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/actions/internal/KotlinInternalMode.kt index 27f660c9138..c8e340b8254 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/actions/internal/KotlinInternalMode.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/actions/internal/KotlinInternalMode.kt @@ -20,7 +20,7 @@ import com.intellij.ide.util.PropertiesComponent class KotlinInternalMode { companion object Instance { - val INTERNAL_MODE_PROPERTY = "kotlin.internal.mode.enabled" + private val INTERNAL_MODE_PROPERTY = "kotlin.internal.mode.enabled" var enabled: Boolean get() = PropertiesComponent.getInstance()!!.getBoolean( diff --git a/idea/src/org/jetbrains/kotlin/idea/reporter/KotlinReportSubmitter.kt b/idea/src/org/jetbrains/kotlin/idea/reporter/KotlinReportSubmitter.kt index 05193d44efd..cac925ff09f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/reporter/KotlinReportSubmitter.kt +++ b/idea/src/org/jetbrains/kotlin/idea/reporter/KotlinReportSubmitter.kt @@ -24,6 +24,7 @@ import com.intellij.util.Consumer import org.jetbrains.kotlin.idea.KotlinPluginUpdater import org.jetbrains.kotlin.idea.KotlinPluginUtil import org.jetbrains.kotlin.idea.PluginUpdateStatus +import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode import java.awt.Component /** @@ -33,10 +34,13 @@ class KotlinReportSubmitter : ITNReporter() { private var hasUpdate = false private var hasLatestVersion = false - override fun showErrorInRelease(event: IdeaLoggingEvent) = !hasUpdate + override fun showErrorInRelease(event: IdeaLoggingEvent) = !hasUpdate || KotlinInternalMode.enabled override fun submit(events: Array, additionalInfo: String?, parentComponent: Component, consumer: Consumer): Boolean { if (hasUpdate) { + if (KotlinInternalMode.enabled) { + return super.submit(events, additionalInfo, parentComponent, consumer) + } return true } @@ -47,9 +51,14 @@ class KotlinReportSubmitter : ITNReporter() { KotlinPluginUpdater.getInstance().runUpdateCheck { status -> if (status is PluginUpdateStatus.Update) { hasUpdate = true + + if (KotlinInternalMode.enabled) { + super.submit(events, additionalInfo, parentComponent, consumer) + } + val rc = Messages.showDialog(parentComponent, "You're running Kotlin plugin version ${KotlinPluginUtil.getPluginVersion()}, " + - "while the latest version is ${status.pluginDescriptor.version}", + "while the latest version is ${status.pluginDescriptor.version}", "Update Kotlin Plugin", arrayOf("Update", "Ignore"), 0, Messages.getInformationIcon())