Merge pull request #2889 from open-osrs/add-package

client: scan our plugin package, remove builtinManager
This commit is contained in:
Tyler Bochard
2021-01-03 22:01:31 -08:00
committed by GitHub
9 changed files with 31 additions and 60 deletions

View File

@@ -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);
}
}

View File

@@ -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,

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;

View File

@@ -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();

View File

@@ -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));
} }