Merge pull request #2889 from open-osrs/add-package
client: scan our plugin package, remove builtinManager
This commit is contained in:
@@ -1,29 +0,0 @@
|
|||||||
package com.openosrs.client.plugins;
|
|
||||||
|
|
||||||
import com.openosrs.client.plugins.openosrs.OpenOSRSPlugin;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import net.runelite.client.externalplugins.ExternalPluginManager;
|
|
||||||
import net.runelite.client.plugins.PluginInstantiationException;
|
|
||||||
|
|
||||||
public class BuiltInPluginManager
|
|
||||||
{
|
|
||||||
public static List<Class<?>> oprsPlugins = new ArrayList<>();
|
|
||||||
|
|
||||||
public static void loadPlugins()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
ExternalPluginManager.pluginManager.loadPlugins(oprsPlugins, null);
|
|
||||||
}
|
|
||||||
catch (PluginInstantiationException e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static
|
|
||||||
{
|
|
||||||
oprsPlugins.add(OpenOSRSPlugin.class);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -33,6 +33,15 @@ import com.google.inject.CreationException;
|
|||||||
import com.google.inject.Injector;
|
import com.google.inject.Injector;
|
||||||
import com.google.inject.Key;
|
import com.google.inject.Key;
|
||||||
import com.google.inject.Module;
|
import com.google.inject.Module;
|
||||||
|
import static com.openosrs.client.OpenOSRS.EXTERNALPLUGIN_DIR;
|
||||||
|
import static com.openosrs.client.OpenOSRS.SYSTEM_VERSION;
|
||||||
|
import com.openosrs.client.config.OpenOSRSConfig;
|
||||||
|
import com.openosrs.client.events.ExternalPluginChanged;
|
||||||
|
import com.openosrs.client.events.ExternalRepositoryChanged;
|
||||||
|
import com.openosrs.client.ui.OpenOSRSSplashScreen;
|
||||||
|
import com.openosrs.client.util.Groups;
|
||||||
|
import com.openosrs.client.util.MiscUtils;
|
||||||
|
import com.openosrs.client.util.SwingUtil;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
@@ -61,24 +70,15 @@ import lombok.AccessLevel;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.client.RuneLite;
|
import net.runelite.client.RuneLite;
|
||||||
import static com.openosrs.client.OpenOSRS.EXTERNALPLUGIN_DIR;
|
|
||||||
import static com.openosrs.client.OpenOSRS.SYSTEM_VERSION;
|
|
||||||
import net.runelite.client.config.Config;
|
import net.runelite.client.config.Config;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import com.openosrs.client.config.OpenOSRSConfig;
|
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.events.ConfigChanged;
|
import net.runelite.client.events.ConfigChanged;
|
||||||
import com.openosrs.client.events.ExternalPluginChanged;
|
|
||||||
import com.openosrs.client.events.ExternalRepositoryChanged;
|
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.plugins.PluginInstantiationException;
|
import net.runelite.client.plugins.PluginInstantiationException;
|
||||||
import net.runelite.client.plugins.PluginManager;
|
import net.runelite.client.plugins.PluginManager;
|
||||||
import net.runelite.client.ui.ClientUI;
|
import net.runelite.client.ui.ClientUI;
|
||||||
import com.openosrs.client.ui.OpenOSRSSplashScreen;
|
|
||||||
import com.openosrs.client.util.Groups;
|
|
||||||
import com.openosrs.client.util.MiscUtils;
|
|
||||||
import com.openosrs.client.util.SwingUtil;
|
|
||||||
import org.jgroups.Message;
|
import org.jgroups.Message;
|
||||||
import org.pf4j.DefaultPluginManager;
|
import org.pf4j.DefaultPluginManager;
|
||||||
import org.pf4j.DependencyResolver;
|
import org.pf4j.DependencyResolver;
|
||||||
@@ -117,7 +117,7 @@ public class ExternalPluginManager
|
|||||||
@Inject
|
@Inject
|
||||||
public ExternalPluginManager(
|
public ExternalPluginManager(
|
||||||
@Named("safeMode") final boolean safeMode,
|
@Named("safeMode") final boolean safeMode,
|
||||||
net.runelite.client.plugins.PluginManager pluginManager,
|
PluginManager pluginManager,
|
||||||
OpenOSRSConfig openOSRSConfig,
|
OpenOSRSConfig openOSRSConfig,
|
||||||
EventBus eventBus,
|
EventBus eventBus,
|
||||||
ExecutorService executorService,
|
ExecutorService executorService,
|
||||||
|
|||||||
@@ -27,6 +27,8 @@
|
|||||||
package com.openosrs.client.plugins.openosrs;
|
package com.openosrs.client.plugins.openosrs;
|
||||||
|
|
||||||
import ch.qos.logback.classic.Logger;
|
import ch.qos.logback.classic.Logger;
|
||||||
|
import com.openosrs.client.plugins.openosrs.externals.ExternalPluginManagerPanel;
|
||||||
|
import com.openosrs.client.config.OpenOSRSConfig;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@@ -55,14 +57,12 @@ import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_SECOND_ENTERED;
|
|||||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_THIRD_ENTERED;
|
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_THIRD_ENTERED;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.Keybind;
|
import net.runelite.client.config.Keybind;
|
||||||
import com.openosrs.client.config.OpenOSRSConfig;
|
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.events.ConfigChanged;
|
import net.runelite.client.events.ConfigChanged;
|
||||||
import net.runelite.client.input.KeyListener;
|
import net.runelite.client.input.KeyListener;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import com.openosrs.client.plugins.openosrs.externals.ExternalPluginManagerPanel;
|
|
||||||
import net.runelite.client.ui.ClientToolbar;
|
import net.runelite.client.ui.ClientToolbar;
|
||||||
import net.runelite.client.ui.NavigationButton;
|
import net.runelite.client.ui.NavigationButton;
|
||||||
import net.runelite.client.util.HotkeyListener;
|
import net.runelite.client.util.HotkeyListener;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.openosrs.client.plugins.openosrs.externals;
|
package com.openosrs.client.plugins.openosrs.externals;
|
||||||
|
|
||||||
|
import com.openosrs.client.plugins.ExternalPluginManager;
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
@@ -21,7 +22,6 @@ import javax.swing.JTabbedPane;
|
|||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import com.openosrs.client.plugins.ExternalPluginManager;
|
|
||||||
import net.runelite.client.ui.ClientUI;
|
import net.runelite.client.ui.ClientUI;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.ui.PluginPanel;
|
import net.runelite.client.ui.PluginPanel;
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
package com.openosrs.client.plugins.openosrs.externals;
|
package com.openosrs.client.plugins.openosrs.externals;
|
||||||
|
|
||||||
|
import com.openosrs.client.plugins.ExternalPluginManager;
|
||||||
import com.google.gson.JsonSyntaxException;
|
import com.google.gson.JsonSyntaxException;
|
||||||
|
import com.openosrs.client.events.ExternalPluginChanged;
|
||||||
|
import com.openosrs.client.events.ExternalRepositoryChanged;
|
||||||
|
import com.openosrs.client.util.DeferredDocumentChangedListener;
|
||||||
|
import com.openosrs.client.util.ImageUtil;
|
||||||
|
import com.openosrs.client.util.SwingUtil;
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
@@ -32,10 +38,6 @@ import javax.swing.border.EmptyBorder;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import static net.runelite.api.util.Text.DISTANCE;
|
import static net.runelite.api.util.Text.DISTANCE;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import com.openosrs.client.events.ExternalPluginChanged;
|
|
||||||
import com.openosrs.client.events.ExternalRepositoryChanged;
|
|
||||||
import com.openosrs.client.plugins.ExternalPluginManager;
|
|
||||||
import static com.openosrs.client.plugins.openosrs.externals.ExternalPluginManagerPanel.wrapContainer;
|
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.ui.ClientUI;
|
import net.runelite.client.ui.ClientUI;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
@@ -43,9 +45,6 @@ import net.runelite.client.ui.FontManager;
|
|||||||
import net.runelite.client.ui.PluginPanel;
|
import net.runelite.client.ui.PluginPanel;
|
||||||
import net.runelite.client.ui.components.IconTextField;
|
import net.runelite.client.ui.components.IconTextField;
|
||||||
import net.runelite.client.ui.components.shadowlabel.JShadowedLabel;
|
import net.runelite.client.ui.components.shadowlabel.JShadowedLabel;
|
||||||
import com.openosrs.client.util.DeferredDocumentChangedListener;
|
|
||||||
import com.openosrs.client.util.ImageUtil;
|
|
||||||
import com.openosrs.client.util.SwingUtil;
|
|
||||||
import org.pf4j.update.PluginInfo;
|
import org.pf4j.update.PluginInfo;
|
||||||
import org.pf4j.update.UpdateManager;
|
import org.pf4j.update.UpdateManager;
|
||||||
import org.pf4j.update.UpdateRepository;
|
import org.pf4j.update.UpdateRepository;
|
||||||
@@ -112,8 +111,8 @@ public class PluginsPanel extends JPanel
|
|||||||
|
|
||||||
JTabbedPane mainTabPane = new JTabbedPane();
|
JTabbedPane mainTabPane = new JTabbedPane();
|
||||||
|
|
||||||
mainTabPane.add("Installed", wrapContainer(installedPluginsPanel()));
|
mainTabPane.add("Installed", ExternalPluginManagerPanel.wrapContainer(installedPluginsPanel()));
|
||||||
mainTabPane.add("Available", wrapContainer(availablePluginsPanel()));
|
mainTabPane.add("Available", ExternalPluginManagerPanel.wrapContainer(availablePluginsPanel()));
|
||||||
|
|
||||||
add(filterwrapper, BorderLayout.NORTH);
|
add(filterwrapper, BorderLayout.NORTH);
|
||||||
add(mainTabPane, BorderLayout.CENTER);
|
add(mainTabPane, BorderLayout.CENTER);
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
package com.openosrs.client.plugins.openosrs.externals;
|
package com.openosrs.client.plugins.openosrs.externals;
|
||||||
|
|
||||||
|
import com.openosrs.client.plugins.ExternalPluginManager;
|
||||||
|
import com.openosrs.client.ui.JMultilineLabel;
|
||||||
|
import com.openosrs.client.util.ImageUtil;
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
@@ -14,11 +17,8 @@ import javax.swing.JLabel;
|
|||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.border.CompoundBorder;
|
import javax.swing.border.CompoundBorder;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import com.openosrs.client.plugins.ExternalPluginManager;
|
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.ui.FontManager;
|
import net.runelite.client.ui.FontManager;
|
||||||
import com.openosrs.client.ui.JMultilineLabel;
|
|
||||||
import com.openosrs.client.util.ImageUtil;
|
|
||||||
import net.runelite.client.util.LinkBrowser;
|
import net.runelite.client.util.LinkBrowser;
|
||||||
import org.pf4j.update.PluginInfo;
|
import org.pf4j.update.PluginInfo;
|
||||||
import org.pf4j.update.UpdateRepository;
|
import org.pf4j.update.UpdateRepository;
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.openosrs.client.plugins.openosrs.externals;
|
package com.openosrs.client.plugins.openosrs.externals;
|
||||||
|
|
||||||
|
import com.openosrs.client.plugins.ExternalPluginManager;
|
||||||
|
import com.openosrs.client.events.ExternalRepositoryChanged;
|
||||||
import java.awt.GridBagConstraints;
|
import java.awt.GridBagConstraints;
|
||||||
import java.awt.GridBagLayout;
|
import java.awt.GridBagLayout;
|
||||||
import java.awt.Insets;
|
import java.awt.Insets;
|
||||||
@@ -7,8 +9,6 @@ import javax.inject.Inject;
|
|||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import com.openosrs.client.events.ExternalRepositoryChanged;
|
|
||||||
import com.openosrs.client.plugins.ExternalPluginManager;
|
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import org.pf4j.update.UpdateRepository;
|
import org.pf4j.update.UpdateRepository;
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import com.google.common.annotations.VisibleForTesting;
|
|||||||
import com.google.inject.Guice;
|
import com.google.inject.Guice;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Injector;
|
import com.google.inject.Injector;
|
||||||
import com.openosrs.client.plugins.BuiltInPluginManager;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.lang.management.ManagementFactory;
|
import java.lang.management.ManagementFactory;
|
||||||
import java.lang.management.RuntimeMXBean;
|
import java.lang.management.RuntimeMXBean;
|
||||||
@@ -390,9 +389,6 @@ public class RuneLite
|
|||||||
overlayManager.add(tooltipOverlay.get());
|
overlayManager.add(tooltipOverlay.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
//Load built-in OPRS plugins
|
|
||||||
BuiltInPluginManager.loadPlugins();
|
|
||||||
|
|
||||||
// Start plugins
|
// Start plugins
|
||||||
pluginManager.startPlugins();
|
pluginManager.startPlugins();
|
||||||
|
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ public class PluginManager
|
|||||||
* Base package where the core plugins are
|
* Base package where the core plugins are
|
||||||
*/
|
*/
|
||||||
private static final String PLUGIN_PACKAGE = "net.runelite.client.plugins";
|
private static final String PLUGIN_PACKAGE = "net.runelite.client.plugins";
|
||||||
|
private static final String OPENOSRS_PACKAGE = "com.openosrs.client.plugins";
|
||||||
|
|
||||||
private final boolean developerMode;
|
private final boolean developerMode;
|
||||||
private final boolean safeMode;
|
private final boolean safeMode;
|
||||||
@@ -290,6 +291,10 @@ public class PluginManager
|
|||||||
.map(ClassInfo::load)
|
.map(ClassInfo::load)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
plugins.addAll(classPath.getTopLevelClassesRecursive(OPENOSRS_PACKAGE).stream()
|
||||||
|
.map(ClassInfo::load)
|
||||||
|
.collect(Collectors.toList()));
|
||||||
|
|
||||||
loadPlugins(plugins, (loaded, total) ->
|
loadPlugins(plugins, (loaded, total) ->
|
||||||
SplashScreen.stage(.60, .70, null, "Loading Plugins", loaded, total, false));
|
SplashScreen.stage(.60, .70, null, "Loading Plugins", loaded, total, false));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user