Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 19:10:09 +01:00
Fix LegacyPluginLoader dependency registration (#9165)
Dieser Commit ist enthalten in:
Ursprung
8e3009e0db
Commit
5c4671a9bf
@ -1762,10 +1762,10 @@ index 0000000000000000000000000000000000000000..a2fa8406bc3f0dcab6805633ae984d03
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/MetaDependencyTree.java b/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/MetaDependencyTree.java
|
diff --git a/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/MetaDependencyTree.java b/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/MetaDependencyTree.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..1523cbb1801b937c3d40080df7d52e6cff8fc49c
|
index 0000000000000000000000000000000000000000..e72bec3b0cbc41580f1b4beecae316d1c083d3e3
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/MetaDependencyTree.java
|
+++ b/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/MetaDependencyTree.java
|
||||||
@@ -0,0 +1,112 @@
|
@@ -0,0 +1,117 @@
|
||||||
+package io.papermc.paper.plugin.entrypoint.dependency;
|
+package io.papermc.paper.plugin.entrypoint.dependency;
|
||||||
+
|
+
|
||||||
+import com.google.common.graph.GraphBuilder;
|
+import com.google.common.graph.GraphBuilder;
|
||||||
@ -1867,6 +1867,11 @@ index 0000000000000000000000000000000000000000..1523cbb1801b937c3d40080df7d52e6c
|
|||||||
+ return this.dependencies.contains(pluginIdentifier);
|
+ return this.dependencies.contains(pluginIdentifier);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
+ // Used by the legacy loader -- this isn't recommended
|
||||||
|
+ public void addDirectDependency(String dependency) {
|
||||||
|
+ this.dependencies.add(dependency);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public String toString() {
|
+ public String toString() {
|
||||||
+ return "ProviderDependencyTree{" +
|
+ return "ProviderDependencyTree{" +
|
||||||
@ -2240,10 +2245,10 @@ index 0000000000000000000000000000000000000000..a9bca905eba67972e4d1b07b1d243272
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/io/papermc/paper/plugin/entrypoint/strategy/LegacyPluginLoadingStrategy.java b/src/main/java/io/papermc/paper/plugin/entrypoint/strategy/LegacyPluginLoadingStrategy.java
|
diff --git a/src/main/java/io/papermc/paper/plugin/entrypoint/strategy/LegacyPluginLoadingStrategy.java b/src/main/java/io/papermc/paper/plugin/entrypoint/strategy/LegacyPluginLoadingStrategy.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..ebd193e7d9736021756223d565c8a16a7b1770d2
|
index 0000000000000000000000000000000000000000..f59f48654eaa299bcac862991b1e2e622264639b
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/io/papermc/paper/plugin/entrypoint/strategy/LegacyPluginLoadingStrategy.java
|
+++ b/src/main/java/io/papermc/paper/plugin/entrypoint/strategy/LegacyPluginLoadingStrategy.java
|
||||||
@@ -0,0 +1,269 @@
|
@@ -0,0 +1,271 @@
|
||||||
+package io.papermc.paper.plugin.entrypoint.strategy;
|
+package io.papermc.paper.plugin.entrypoint.strategy;
|
||||||
+
|
+
|
||||||
+import com.google.common.graph.GraphBuilder;
|
+import com.google.common.graph.GraphBuilder;
|
||||||
@ -2292,6 +2297,7 @@ index 0000000000000000000000000000000000000000..ebd193e7d9736021756223d565c8a16a
|
|||||||
+ PluginMeta configuration = provider.getMeta();
|
+ PluginMeta configuration = provider.getMeta();
|
||||||
+
|
+
|
||||||
+ PluginProvider<T> replacedProvider = providersToLoad.put(configuration.getName(), provider);
|
+ PluginProvider<T> replacedProvider = providersToLoad.put(configuration.getName(), provider);
|
||||||
|
+ dependencyTree.addDirectDependency(configuration.getName()); // add to dependency tree
|
||||||
+ if (replacedProvider != null) {
|
+ if (replacedProvider != null) {
|
||||||
+ LOGGER.severe(String.format(
|
+ LOGGER.severe(String.format(
|
||||||
+ "Ambiguous plugin name `%s' for files `%s' and `%s' in `%s'",
|
+ "Ambiguous plugin name `%s' for files `%s' and `%s' in `%s'",
|
||||||
@ -2324,6 +2330,7 @@ index 0000000000000000000000000000000000000000..ebd193e7d9736021756223d565c8a16a
|
|||||||
+ ));
|
+ ));
|
||||||
+ } else {
|
+ } else {
|
||||||
+ String replacedPlugin = pluginsProvided.put(provided, configuration.getName());
|
+ String replacedPlugin = pluginsProvided.put(provided, configuration.getName());
|
||||||
|
+ dependencyTree.addDirectDependency(provided); // add to dependency tree
|
||||||
+ if (replacedPlugin != null) {
|
+ if (replacedPlugin != null) {
|
||||||
+ LOGGER.warning(String.format(
|
+ LOGGER.warning(String.format(
|
||||||
+ "`%s' is provided by both `%s' and `%s'",
|
+ "`%s' is provided by both `%s' and `%s'",
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren