mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-11-04 23:55:52 +00:00
modified to display information about failed plugins.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@1944 71c3de6d-444a-0410-be80-ed276b4c234a
This commit is contained in:
1 parent
eb23404674
commit
36fca6c421
2 files changed
+39
-1
No files matched your search
@@ -7,6 +7,8 @@ import javax.servlet.ServletContext;
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.io.IOException;
|
||||
import java.io.StringWriter;
|
||||
import java.io.PrintWriter;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -32,6 +34,8 @@ public final class PluginManager {
|
||||
*/
|
||||
private final List<PluginWrapper> activePlugins = new ArrayList<PluginWrapper>();
|
||||
|
||||
private final List<FailedPlugin> failedPlugins = new ArrayList<FailedPlugin>();
|
||||
|
||||
/**
|
||||
* Plug-in root directory.
|
||||
*/
|
||||
@@ -72,6 +76,7 @@ public final class PluginManager {
|
||||
if(p.isActive())
|
||||
activePlugins.add(p);
|
||||
} catch (IOException e) {
|
||||
failedPlugins.add(new FailedPlugin(arc.getName(),e));
|
||||
LOGGER.log(Level.SEVERE, "Failed to load a plug-in " + arc, e);
|
||||
}
|
||||
}
|
||||
@@ -81,6 +86,10 @@ public final class PluginManager {
|
||||
return plugins;
|
||||
}
|
||||
|
||||
public List<FailedPlugin> getFailedPlugins() {
|
||||
return failedPlugins;
|
||||
}
|
||||
|
||||
public PluginWrapper getPlugin(String shortName) {
|
||||
for (PluginWrapper p : plugins) {
|
||||
if(p.getShortName().equals(shortName))
|
||||
@@ -153,4 +162,22 @@ public final class PluginManager {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(PluginManager.class.getName());
|
||||
|
||||
/**
|
||||
* Remembers why a plugin failed to deploy.
|
||||
*/
|
||||
public static final class FailedPlugin {
|
||||
public final String name;
|
||||
public final IOException cause;
|
||||
|
||||
public FailedPlugin(String name, IOException cause) {
|
||||
this.name = name;
|
||||
this.cause = cause;
|
||||
}
|
||||
|
||||
public String getExceptionString() {
|
||||
StringWriter sw = new StringWriter();
|
||||
cause.printStackTrace(new PrintWriter(sw));
|
||||
return sw.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user