Do not set "idea.plugins.compatible.build" -- fix plugin update issue
In the IDEA plugin update there are a code that used system property "idea.plugins.compatible.build" to calculate the IDEA version that will be sent to plugin marketplace to download last version of the plugins. It seems like by some reason setupIdeaStandaloneExecution() was called from the IDEA thread and because of that idea version was calculated incorrectly and incorrect version of the plugins was downloaded. It is still unclear how the setupIdeaStandaloneExecution() could be called from the IDEA, so added logging for that. Relevant issue: MP-3702 Relevant code in the IDEA: - ApplicationInfoImpl.getPluginsCompatibleBuildAsNumber
This commit is contained in:
committed by
TeamCityServer
parent
6c28e9f4d4
commit
8a0969156f
@@ -5,13 +5,32 @@
|
||||
|
||||
package org.jetbrains.kotlin.cli.jvm.compiler
|
||||
|
||||
fun setupIdeaStandaloneExecution() {
|
||||
System.getProperties().setProperty("idea.plugins.compatible.build", "201.6668.13")
|
||||
System.getProperties().setProperty("project.structure.add.tools.jar.to.new.jdk", "false")
|
||||
System.getProperties().setProperty("psi.track.invalidation", "true")
|
||||
System.getProperties().setProperty("psi.incremental.reparse.depth.limit", "1000")
|
||||
System.getProperties().setProperty("ide.hide.excluded.files", "false")
|
||||
System.getProperties().setProperty("ast.loading.filter", "false")
|
||||
System.getProperties().setProperty("idea.ignore.disabled.plugins", "true")
|
||||
System.getProperties().setProperty("idea.home.path", System.getProperty("java.io.tmpdir"))
|
||||
}
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
|
||||
object IdeaStandaloneExecutionSetup {
|
||||
private val LOG: Logger = Logger.getInstance(IdeaStandaloneExecutionSetup::class.java)
|
||||
|
||||
fun doSetup() {
|
||||
checkInHeadlessMode()
|
||||
|
||||
System.getProperties().setProperty("project.structure.add.tools.jar.to.new.jdk", "false")
|
||||
System.getProperties().setProperty("psi.track.invalidation", "true")
|
||||
System.getProperties().setProperty("psi.incremental.reparse.depth.limit", "1000")
|
||||
System.getProperties().setProperty("ide.hide.excluded.files", "false")
|
||||
System.getProperties().setProperty("ast.loading.filter", "false")
|
||||
System.getProperties().setProperty("idea.ignore.disabled.plugins", "true")
|
||||
System.getProperties().setProperty("idea.home.path", System.getProperty("java.io.tmpdir"))
|
||||
}
|
||||
|
||||
private fun checkInHeadlessMode() {
|
||||
// if application is null it means that we are in progress of set-up application environment i.e. we are not in the running IDEA
|
||||
val application = ApplicationManager.getApplication() ?: return
|
||||
if (!application.isHeadlessEnvironment) {
|
||||
LOG.error(Throwable("IdeaStandaloneExecutionSetup should be called only in headless environment"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// We safe this function to minimize the patch for release branches
|
||||
fun setupIdeaStandaloneExecution() = IdeaStandaloneExecutionSetup.doSetup()
|
||||
Reference in New Issue
Block a user