diff --git a/idea/resources-descriptors/META-INF/plugin.xml b/idea/resources-descriptors/META-INF/plugin.xml
index 53260618036..c8a467ee3bd 100644
--- a/idea/resources-descriptors/META-INF/plugin.xml
+++ b/idea/resources-descriptors/META-INF/plugin.xml
@@ -74,7 +74,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
-
+
diff --git a/idea/resources-descriptors/META-INF/plugin.xml.202 b/idea/resources-descriptors/META-INF/plugin.xml.202
index ed37fb35054..5a2c095fc92 100644
--- a/idea/resources-descriptors/META-INF/plugin.xml.202
+++ b/idea/resources-descriptors/META-INF/plugin.xml.202
@@ -74,7 +74,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
-
+
diff --git a/idea/resources-descriptors/META-INF/plugin.xml.as41 b/idea/resources-descriptors/META-INF/plugin.xml.as41
index 536375fddef..3e48ad7f706 100644
--- a/idea/resources-descriptors/META-INF/plugin.xml.as41
+++ b/idea/resources-descriptors/META-INF/plugin.xml.as41
@@ -73,7 +73,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
-
+
diff --git a/idea/src/org/jetbrains/kotlin/idea/KotlinPluginMacros.kt b/idea/src/org/jetbrains/kotlin/idea/KotlinPluginMacros.kt
new file mode 100644
index 00000000000..189bbfc873e
--- /dev/null
+++ b/idea/src/org/jetbrains/kotlin/idea/KotlinPluginMacros.kt
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.idea
+
+import com.intellij.openapi.application.PathMacroContributor
+import org.jetbrains.kotlin.utils.PathUtil
+
+/**
+ * Some actions have to be performed before loading and opening any project.
+ *
+ * E.g. path variables have to be registered in advance as modules could rely on some path variables.
+ */
+class KotlinPluginMacros : PathMacroContributor {
+ override fun registerPathMacros(macros: MutableMap, legacyMacros: MutableMap) {
+ macros[KOTLIN_BUNDLED_PATH_VARIABLE] = PathUtil.kotlinPathsForIdeaPlugin.homePath.path
+ }
+
+ companion object {
+ const val KOTLIN_BUNDLED_PATH_VARIABLE = "KOTLIN_BUNDLED"
+ }
+
+}
\ No newline at end of file
diff --git a/idea/src/org/jetbrains/kotlin/idea/KotlinPluginMacros.kt.193 b/idea/src/org/jetbrains/kotlin/idea/KotlinPluginMacros.kt.193
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/idea/src/org/jetbrains/kotlin/idea/PluginStartupListener.kt b/idea/src/org/jetbrains/kotlin/idea/PluginStartupListener.kt
index 908049cbb9c..e69de29bb2d 100644
--- a/idea/src/org/jetbrains/kotlin/idea/PluginStartupListener.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/PluginStartupListener.kt
@@ -1,31 +0,0 @@
-/*
- * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
-package org.jetbrains.kotlin.idea
-
-import com.intellij.ide.ApplicationInitializedListener
-import com.intellij.openapi.application.PathMacros
-import org.jetbrains.kotlin.utils.PathUtil.kotlinPathsForIdeaPlugin
-
-/**
- * Some actions have to be performed before loading and opening any project.
- *
- * E.g. path variables have to be registered in advance as modules could rely on some path variables.
- */
-class PluginStartupListener : ApplicationInitializedListener {
-
- override fun componentsInitialized() {
- registerPathVariable()
- }
-
- private fun registerPathVariable() {
- val macros = PathMacros.getInstance()
- macros.setMacro(KOTLIN_BUNDLED_PATH_VARIABLE, kotlinPathsForIdeaPlugin.homePath.path)
- }
-
- companion object {
- const val KOTLIN_BUNDLED_PATH_VARIABLE = "KOTLIN_BUNDLED"
- }
-}
\ No newline at end of file
diff --git a/idea/src/org/jetbrains/kotlin/idea/PluginStartupListener.kt.193 b/idea/src/org/jetbrains/kotlin/idea/PluginStartupListener.kt.193
new file mode 100644
index 00000000000..908049cbb9c
--- /dev/null
+++ b/idea/src/org/jetbrains/kotlin/idea/PluginStartupListener.kt.193
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.idea
+
+import com.intellij.ide.ApplicationInitializedListener
+import com.intellij.openapi.application.PathMacros
+import org.jetbrains.kotlin.utils.PathUtil.kotlinPathsForIdeaPlugin
+
+/**
+ * Some actions have to be performed before loading and opening any project.
+ *
+ * E.g. path variables have to be registered in advance as modules could rely on some path variables.
+ */
+class PluginStartupListener : ApplicationInitializedListener {
+
+ override fun componentsInitialized() {
+ registerPathVariable()
+ }
+
+ private fun registerPathVariable() {
+ val macros = PathMacros.getInstance()
+ macros.setMacro(KOTLIN_BUNDLED_PATH_VARIABLE, kotlinPathsForIdeaPlugin.homePath.path)
+ }
+
+ companion object {
+ const val KOTLIN_BUNDLED_PATH_VARIABLE = "KOTLIN_BUNDLED"
+ }
+}
\ No newline at end of file