diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index f9a7cff84d..28c845a7f7 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -645,23 +645,17 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas ServletContext context = Jenkins.getActiveInstance().servletContext; for (String dependencyToken : dependencyTokens) { - String optionalDepTokenSuffix = ";resolution:=optional"; - boolean isOptional = dependencyToken.endsWith(optionalDepTokenSuffix); - if (isOptional) { - dependencyToken = dependencyToken.substring(0, dependencyToken.length() - optionalDepTokenSuffix.length()); + if (dependencyToken.endsWith(";resolution:=optional")) { + // ignore optional dependencies + continue; } String[] artifactIdVersionPair = dependencyToken.split(":"); String artifactId = artifactIdVersionPair[0]; VersionNumber dependencyVersion = new VersionNumber(artifactIdVersionPair[1]); - PluginManager manager = Jenkins.getInstance().getPluginManager(); + + PluginManager manager = Jenkins.getActiveInstance().getPluginManager(); VersionNumber installedVersion = manager.getPluginVersion(manager.rootDir, artifactId); - - if (isOptional && installedVersion == null) { - // Ignore uninstalled optional dependencies. - continue; - } - if (installedVersion != null && !installedVersion.isOlderThan(dependencyVersion)) { // Do not downgrade dependencies that are already installed. continue;