* [JENKINS-36748] Add a test case and not process null specs
* [JENKINS-36748] Correct license and add a minor comment
* [JENKINS-36748] Add a Waning logger when spec is null
* Check that dependencies are enabled. A disabled optional dependency
will not prevent a plugin from loading.
* Check versions of dependencies declared by a plugin before loading it.
If any dependency (even optional) is older than what is required,
then the plugin isn't loaded.
This should prevent use cases where a plugin is loaded but one of its
dependencies is too old so that :
* its @Extension annotated classes cannot be loaded, causing the full
Jenkins to blow up with crapload of exceptions which are tedious to
investigate to understand the root cause.
* NoSuchMethodError and the likes at runtime even though boot has
completed.
Version check (for setups where version list is manually crafted but yet
works) can be disabled by starting Jenkins with
-Dhudson.PluginWrapper.dependenciesVersionCheck.enabled=true
Minor fixes done while implementing this change :
* Fix version parsing in PluginWrapper.Dependency
* Dynamic plugin load didn't check for disabled flag
* [FIXED JENKINS-36476] Do not even send the default password in encrypted form; leave the text field blank, and apply the default upon submission.
* [JENKINS-36476] Use a special token, not the empty string, as the marker for the default value.
* [JENKINS-36387] Catch exception when scm retry count field is empty.
* Add test for JENKINS-36387
* [JENKINS-36387] Move test in correct place
* [JENKINS-36387] Reproduce actuall behaviour
Setting autocomplete to "off" will tell browsers not to try to autofill
forms during history navigation. Since this seems to be a prominent
problem in Jenkins I feel it is best to have it default to "off" and let
individual inputs or pages opt-in to enable it instead
to indicate they can handle it.
The standard login page does not seem to use the taglib form tag
so it is not affected, even so, all modern browsers ignores
the autocomplete attribute on username and password fields anyway.
The test found out that RunMap's subMap implementation only returns loaded builds, so we needed to introduce a method to test if there was a specific run on the disk. For the weather reports we do not care if the record on the disk fails to load
* [FIXED JENKINS-25416][JENKINS-28790] Do not inject build variables into maven process optionally
* [JENKINS-25416][JENKINS-28790] Fixed typo in test method name
* [JENKINS-25416][JENKINS-28790] Suggest alternatives in help
* [JENKINS-25416][JENKINS-28790] Use less hackish approach to preserving legacy behaviour