From 4d5c1cdde4faef2661a66fab51f60be577603493 Mon Sep 17 00:00:00 2001 From: kohsuke Date: Thu, 3 Jul 2008 00:23:19 +0000 Subject: [PATCH] [HUDSON-1966] Stapler JSON binding needs to use uberClassLoader so that it can create instances from plugins. git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@10585 71c3de6d-444a-0410-be80-ed276b4c234a --- core/pom.xml | 2 +- core/src/main/java/hudson/PluginManager.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/pom.xml b/core/pom.xml index 8a1cc7fe63..01732c461a 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -280,7 +280,7 @@ org.kohsuke.stapler stapler - 1.78 + 1.79 diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index dea81cc1fe..f3892c6b71 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -26,6 +26,7 @@ import org.apache.commons.fileupload.FileItem; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.StaplerResponse; import org.kohsuke.stapler.QueryParameter; +import org.kohsuke.stapler.Stapler; /** * Manages {@link PluginWrapper}s. @@ -70,6 +71,9 @@ public final class PluginManager extends AbstractModelObject { public PluginManager(ServletContext context) { this.context = context; + // JSON binding needs to be able to see all the classes from all the plugins + Stapler.setClassLoader(context,uberClassLoader); + rootDir = new File(Hudson.getInstance().getRootDir(),"plugins"); if(!rootDir.exists()) rootDir.mkdirs();