mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-11-09 01:56:03 +00:00
[JENKINS-20679] Add support for plugin Java requirement metadata
This commit is contained in:
1 parent
afc57dd6da
commit
3fa7427c17
6 files changed
+100
-6
No files matched your search
@@ -457,6 +457,20 @@ public class PluginWrapper implements Comparable<PluginWrapper>, ModelObject {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the required Java version of this plugin.
|
||||
* @return the required Java version of this plugin.
|
||||
*
|
||||
* @since TODO
|
||||
*/
|
||||
@Exported
|
||||
public @CheckForNull String getRequiredJavaVersion() {
|
||||
String v = manifest.getMainAttributes().getValue("Minimum-Java-Version");
|
||||
if (v!= null) return v;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the version number of this plugin
|
||||
*/
|
||||
@@ -600,6 +614,15 @@ public class PluginWrapper implements Comparable<PluginWrapper>, ModelObject {
|
||||
versionDependencyError(Messages.PluginWrapper_obsoleteCore(Jenkins.getVersion().toString(), requiredCoreVersion), Jenkins.getVersion().toString(), requiredCoreVersion);
|
||||
}
|
||||
}
|
||||
|
||||
String requiredJavaVersion = getRequiredJavaVersion();
|
||||
if (requiredJavaVersion != null) {
|
||||
// TODO replace with calls to Runtime.version() once we're on Java 9
|
||||
VersionNumber actualVersion = new VersionNumber(System.getProperty("java.version"));
|
||||
if (actualVersion.isOlderThan(new VersionNumber(requiredJavaVersion))) {
|
||||
dependencyErrors.add(Messages.PluginWrapper_obsoleteJava(actualVersion.toString(), requiredJavaVersion));
|
||||
}
|
||||
}
|
||||
}
|
||||
// make sure dependencies exist
|
||||
for (Dependency d : dependencies) {
|
||||
|
||||
Reference in new issue
Block a user