Annotation Interface PluginDependency


@Retention(RUNTIME) @Target(TYPE) public @interface PluginDependency
Declares plugin dependencies for UltiTools plugins. Used to ensure plugins are loaded in the correct order.

 @UltiToolsModule(scanBasePackages = {"com.example.myplugin"})
 @PluginDependency(
     depends = {"CorePlugin", "UtilsPlugin"},
     softDepends = {"OptionalPlugin"}
 )
 public class MyPlugin extends UltiToolsPlugin {
     // ...
 }
 
Since:
6.2.0
Author:
wisdomme
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Required plugin dependencies.
    Plugins that should be loaded after this plugin.
    Optional plugin dependencies (soft dependencies).
  • Element Details

    • depends

      String[] depends
      Required plugin dependencies. The plugin will fail to load if any of these dependencies are missing.
      Returns:
      array of required plugin names
      Default:
      {}
    • softDepends

      String[] softDepends
      Optional plugin dependencies (soft dependencies). The plugin will still load even if these dependencies are missing, but it will be loaded after them if they exist.
      Returns:
      array of optional plugin names
      Default:
      {}
    • loadBefore

      String[] loadBefore
      Plugins that should be loaded after this plugin. This is the inverse of depends - declares that other plugins depend on this one.
      Returns:
      array of plugin names that should load after
      Default:
      {}