Merge pull request #3201 from dwnusbaum/JENKINS-48604

[JENKINS-48604] Do not downgrade plugins that are dependencies of detached plugins when upgrading Jenkins

(cherry picked from commit 1dc2c6d5ff)
This commit is contained in:
Daniel Beck authored and Oliver Gondža committed 2018-01-03 15:01:35 +01:00
1 parent 0319362666
commit e9ecbb326c
4 files changed
+50 -1

No files matched your search

+11 -1
View File
@@ -650,7 +650,17 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
continue;
}
String artifactId = dependencyToken.split(":")[0];
String[] artifactIdVersionPair = dependencyToken.split(":");
String artifactId = artifactIdVersionPair[0];
VersionNumber dependencyVersion = new VersionNumber(artifactIdVersionPair[1]);
PluginManager manager = Jenkins.getActiveInstance().getPluginManager();
VersionNumber installedVersion = manager.getPluginVersion(manager.rootDir, artifactId);
if (installedVersion != null && !installedVersion.isOlderThan(dependencyVersion)) {
// Do not downgrade dependencies that are already installed.
continue;
}
URL dependencyURL = context.getResource(fromPath + "/" + artifactId + ".hpi");
if (dependencyURL == null) {