Interface ReloadablePlugins

    • Method Detail

      • canUnloadPluginInRuntime

        @Nullable
        String canUnloadPluginInRuntime​(@NotNull
                                        PluginInfo pluginInfo)
        Parameters:
        pluginInfo -
        Returns:
        null if this plugin could be unloaded in runtime or reason why it's impossible. The plugin should be loaded as unloadable shouldLoadPluginAsUnloadable(PluginInfo), 'teamcity.plugins.allowUnloadPluginsInRuntime=true' (default value) should be set and there should be no loaded dependants
      • canLoadPluginInRuntime

        @Nullable
        String canLoadPluginInRuntime​(@NotNull
                                      PluginInfo pluginInfo)
        Parameters:
        pluginInfo -
        Returns:
        null if this plugin could be loaded in runtime or reason why it's impossible. The plugin should not be loaded, 'teamcity.plugins.allowLoadingNewPluginsInRuntime=true' internal parameter should be set and all it's dependencies should be loaded.
      • allowLoadNotReloadable

        boolean allowLoadNotReloadable()
        Returns:
        true if it's allowed to load a plugin which is not marked as reloadable in runtime
      • shouldLoadPluginAsUnloadable

        boolean shouldLoadPluginAsUnloadable​(@NotNull
                                             PluginInfo pluginInfo)
        Parameters:
        pluginInfo -
        Returns:
        true if this plugin should be loaded as 'unloadable'. The plugin should use separate classloader, all its dependencies should use separate classloaders and the plugin should have 'allow-runtime-reload' property set in XML (or 'teamcity.plugins.forceAllPluginsReloadable=true' internal parameter should be set)