IDEA-249422: Android: make descriptors non-empty to enable dynamic unloading of layou...
authorAndrei Kuznetsov <andrei.kuznetsov@jetbrains.com>
Wed, 23 Sep 2020 15:37:08 +0000 (18:37 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Wed, 23 Sep 2020 16:48:20 +0000 (16:48 +0000)
When descriptor is empty, com.intellij.ide.plugins.cl.PluginClassLoader.detachParent never invoked for android plugin, and classloader for layoutlib-xxx leaks, preventing layoutlib-xxx plugin from being unloaded

GitOrigin-RevId: ae5361439c1c1335ae9682b5ddfef2b39092495f

android/src/META-INF/layoutlib-native.xml
android/src/META-INF/layoutlib-standard.xml

index add10e390f9be21986bec89e800ec37707f93f02..6a88127e28e54548f91650b8db455bf53f023676 100644 (file)
   -->
 <idea-plugin>
 
+  <actions>
+    <!-- Workaround for IDEA-249422: empty plugin descriptor prevents optional dependency from being unloaded
+    (com.intellij.ide.plugins.cl.PluginClassLoader.detachParent never invoked). Make descriptor non-empty. -->
+  </actions>
+
   <!-- Required config file for optional plugin
        It is empty as layoutlib does not need any particular configuration -->
 
index add10e390f9be21986bec89e800ec37707f93f02..6a88127e28e54548f91650b8db455bf53f023676 100644 (file)
   -->
 <idea-plugin>
 
+  <actions>
+    <!-- Workaround for IDEA-249422: empty plugin descriptor prevents optional dependency from being unloaded
+    (com.intellij.ide.plugins.cl.PluginClassLoader.detachParent never invoked). Make descriptor non-empty. -->
+  </actions>
+
   <!-- Required config file for optional plugin
        It is empty as layoutlib does not need any particular configuration -->