-
Bug
-
Resolution: Fixed
-
Major
-
jenkins-2.4
- I have multiple update sites, which contain different plugins
- One of sites ("my-embedded-update-site" in my case) does not provide neither Gradle plugin nor its tool installers
- During the plugin installation Jenkins tries to download the tool installer from this site and fails with error
- Tool installer is missing after it
Jenkins should not fail the ToolInstaller download if one plugin update site provides such tool installer.
Log example:
INFO: Attempting to dynamic load /Users/nenashev/Documents/my-war/tmp/plugins/gradle.jpi May 17, 2016 1:09:33 PM hudson.model.DownloadService$Downloadable updateNow WARNING: Could not load json from file:/Users/nenashev/Documents/my-war/tmp/my-embedded-update-site/updates/hudson.plugins.gradle.GradleInstaller.json java.io.FileNotFoundException: /Users/nenashev/Documents/my-war/tmp/my-embedded-update-site/updates/hudson.plugins.gradle.GradleInstaller.json.html (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at java.io.FileInputStream.<init>(FileInputStream.java:93) at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90) at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188) at hudson.model.DownloadService.loadJSONHTML(DownloadService.java:189) at hudson.model.DownloadService$Downloadable.updateNow(DownloadService.java:403) at hudson.model.DownloadService$DownloadableListener.onChange(DownloadService.java:231) at hudson.ExtensionList.fireOnChangeListeners(ExtensionList.java:328) at hudson.ExtensionList.add(ExtensionList.java:246) at hudson.tools.DownloadFromUrlInstaller$DescriptorImpl.<init>(DownloadFromUrlInstaller.java:127) at hudson.plugins.gradle.GradleInstaller$DescriptorImpl.<init>(GradleInstaller.java:18) at hudson.plugins.gradle.GradleInstaller$DescriptorImpl$$FastClassByGuice$$7d2e75b8.newInstance(<generated>) at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40) at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61) at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269) at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.Scopes$1$1.get(Scopes.java:65) at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051) at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001) at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:386) at hudson.ExtensionFinder$GuiceFinder.access$000(ExtensionFinder.java:232) at hudson.ExtensionFinder$GuiceFinder$3.find(ExtensionFinder.java:341) at jenkins.ExtensionComponentSet$3.find(ExtensionComponentSet.java:98) at jenkins.ExtensionComponentSet$1.find(ExtensionComponentSet.java:70) at hudson.ExtensionList.load(ExtensionList.java:356) at hudson.ExtensionList.refresh(ExtensionList.java:312) at jenkins.model.Jenkins.refreshExtensions(Jenkins.java:2416) at hudson.PluginManager.dynamicLoad(PluginManager.java:824) at hudson.PluginManager.dynamicLoad(PluginManager.java:772) at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1832) at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1593) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110) at java.lang.Thread.run(Thread.java:745)
- links to