Hello!
I'm updating some plugins on the Update Center, and using the option "Install without restart", it often gives me a lot of errors like this:
Subversion Plugin Falha - hudson.util.IOException2: Failed to dynamically deploy this plugin at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1259) at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1056) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.io.IOException: Unable to delete C:\Jenkins\plugins\subversion\WEB-INF\lib\antlr-runtime-3.4.jar at hudson.Util.deleteFile(Util.java:243) at hudson.Util.deleteRecursive(Util.java:293) at hudson.Util.deleteContentsRecursive(Util.java:204) at hudson.Util.deleteRecursive(Util.java:284) at hudson.Util.deleteContentsRecursive(Util.java:204) at hudson.Util.deleteRecursive(Util.java:284) at hudson.Util.deleteContentsRecursive(Util.java:204) at hudson.Util.deleteRecursive(Util.java:284) at hudson.ClassicPluginStrategy.explode(ClassicPluginStrategy.java:425) at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:122) at hudson.PluginManager.dynamicLoad(PluginManager.java:391) at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1255) ... 7 more
But I guess Jenkins doesn't need to delete this JAR... The new version of plugin have the same JAR (same hash/fingerprint) compared to the older...
It would be very good if Jenkins could check the target file before trying to replace that on the plugin deploy.
This JPI files fingerprint improvement will make the updating experience looks better, and with less reboots.
Thank you!
Regards,
Bruno Candido Volpato da Cunha