diff --git a/core/src/main/java/hudson/PluginWrapper.java b/core/src/main/java/hudson/PluginWrapper.java index 3b537f4a63..5b738e8237 100644 --- a/core/src/main/java/hudson/PluginWrapper.java +++ b/core/src/main/java/hudson/PluginWrapper.java @@ -369,8 +369,7 @@ public class PluginWrapper implements Comparable, ModelObject { * @since TODO */ public boolean isDeprecated() { - UpdateSite.Plugin info = getInfo(); - return info != null && Arrays.asList(info.categories).contains("deprecated"); + return getInfo().isDeprecated(); } @ExportedBean diff --git a/core/src/main/java/hudson/model/UpdateCenter.java b/core/src/main/java/hudson/model/UpdateCenter.java index 4ab5e89cda..d9d81537e3 100644 --- a/core/src/main/java/hudson/model/UpdateCenter.java +++ b/core/src/main/java/hudson/model/UpdateCenter.java @@ -969,6 +969,10 @@ public class UpdateCenter extends AbstractModelObject implements Saveable, OnMas Map pluginMap = new LinkedHashMap<>(); for (UpdateSite site : sites) { for (Plugin plugin: site.getAvailables()) { + if (plugin.isDeprecated()) { + // hide plugins that are deprecated + continue; + } final Plugin existing = pluginMap.get(plugin.name); if (existing == null) { pluginMap.put(plugin.name, plugin); diff --git a/core/src/main/java/hudson/model/UpdateSite.java b/core/src/main/java/hudson/model/UpdateSite.java index de54334b95..225ec7912a 100644 --- a/core/src/main/java/hudson/model/UpdateSite.java +++ b/core/src/main/java/hudson/model/UpdateSite.java @@ -44,6 +44,7 @@ import java.net.URI; import java.net.URL; import java.net.URLEncoder; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -1338,6 +1339,15 @@ public class UpdateSite { return warnings; } + /** + * Is this plugin labeled deprecated? + * @return {@code true} when plugin contains deprecated in categories, otherwise {@code false}. + * @since TODO + */ + public boolean isDeprecated() { + return categories != null && Arrays.asList(categories).contains("deprecated"); + } + /** * @since 2.40 */