Merge branch 'slava/plugin-incompatible-with'
[idea/community.git] / platform / extensions / src / com / intellij / openapi / extensions / PluginDescriptor.java
index f9b7a320a3d345ae8dcae78207dd6abc4beda75b..e199072e5a00bfa6e04f02a9a685ac590e204388 100644 (file)
@@ -1,8 +1,6 @@
 // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.extensions;
 
 // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.openapi.extensions;
 
-import com.intellij.openapi.Disposable;
-import org.jdom.Element;
 import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -13,7 +11,6 @@ import java.util.Date;
 import java.util.List;
 
 public interface PluginDescriptor {
 import java.util.List;
 
 public interface PluginDescriptor {
-
   /**
    * @return plugin id or null if the descriptor is the nested (optional dependency) descriptor
    */
   /**
    * @return plugin id or null if the descriptor is the nested (optional dependency) descriptor
    */
@@ -25,7 +22,14 @@ public interface PluginDescriptor {
     return false;
   }
 
     return false;
   }
 
-  File getPath();
+  /**
+   * @deprecated Use {@link #getPluginPath()}
+   */
+  @Deprecated
+  default File getPath() {
+    Path path = getPluginPath();
+    return path == null ? null : path.toFile();
+  }
 
   Path getPluginPath();
 
 
   Path getPluginPath();
 
@@ -49,8 +53,18 @@ public interface PluginDescriptor {
   @NotNull
   List<PluginId> getIncompatibleModuleIds();
 
   @NotNull
   List<PluginId> getIncompatibleModuleIds();
 
-  PluginId @NotNull [] getDependentPluginIds();
+  /**
+   * @deprecated Do not use.
+   */
+  @Deprecated
+  default PluginId @NotNull [] getDependentPluginIds() {
+    return PluginId.EMPTY_ARRAY;
+  }
 
 
+  /**
+   * @deprecated Do not use.
+   */
+  @Deprecated
   PluginId @NotNull [] getOptionalDependentPluginIds();
 
   String getVendor();
   PluginId @NotNull [] getOptionalDependentPluginIds();
 
   String getVendor();
@@ -61,9 +75,6 @@ public interface PluginDescriptor {
 
   String getCategory();
 
 
   String getCategory();
 
-  @Nullable
-  List<Element> getActionDescriptionElements();
-
   String getVendorEmail();
 
   String getVendorUrl();
   String getVendorEmail();
 
   String getVendorUrl();
@@ -94,10 +105,12 @@ public interface PluginDescriptor {
     return false;
   }
 
     return false;
   }
 
+  /**
+   * If true, this plugin requires restart even if it otherwise fulfills the requirements of dynamic plugins.
+   */
+  default boolean isRequireRestart() { return false; }
+
   boolean isEnabled();
 
   void setEnabled(boolean enabled);
   boolean isEnabled();
 
   void setEnabled(boolean enabled);
-
-  @ApiStatus.Internal
-  Disposable getPluginDisposable();
 }
\ No newline at end of file
 }
\ No newline at end of file