Hmm, that is strange. Classloading should be straight forward. Seems that the installation is corrupt. Is the warnings plug-in showing up in Jenkins?
Ulli On 04/11/2012 02:57 PM, Darren Syzling wrote: > Ulli, > > I'd be happy to work on something together. I did however try a few > variants but the hudson.plugins.warnings.WarningsResultAction class > could not be found, I tried variants of this: > > warningsResultAction = > build.getAction(Class.forName("hudson.plugins.warnings.WarningsResultAction")) > warningsResultAction = > build.getAction(hudson.plugins.warnings.WarningsResultAction.class) > > and using the class loader: > ClassLoader cl = it.class.getClassLoader() > def warningsClass = > cl.loadClass("hudson.plugins.warnings.WarningsResultAction", true) > > Is there something different about the groovy parser engine loaded by > email-ext which would mean other plugin classes were not available. > > Unfortunately I then decided to upgrade to Jenkins 1.459 along with: > Static analysis utilities 1.38 > Warnings 3.28 > Static analysis collector 1.24 > Email-ext 2.18 > > This has broken my ability to build and configure the project, when I build: > 11-Apr-2012 13:55:43 hudson.model.Executor run > SEVERE: Executor threw an exception > java.lang.AssertionError: class > hudson.plugins.warnings.WarningsPublisher is missing its descriptor > at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1076) > at hudson.tasks.Publisher.getDescriptor(Publisher.java:123) > at hudson.tasks.Recorder.getDescriptor(Recorder.java:51) > at > hudson.plugins.warnings.WarningsPublisher.getDescriptor(WarningsPublisher.java:323) > at > hudson.plugins.warnings.WarningsPublisher.getDescriptor(WarningsPublisher.java:41) > at hudson.model.Descriptor.toMap(Descriptor.java:873) > at hudson.util.DescribableList.toMap(DescribableList.java:128) > at hudson.model.Project.getPublishers(Project.java:109) > at hudson.model.Build$RunnerImpl.cleanUp(Build.java:171) > at hudson.model.Run.run(Run.java:1457) > at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) > at hudson.model.ResourceController.execute(ResourceController.java:88) > at hudson.model.Executor.run(Executor.java:238) > > > and when I try and configure the project I can't access email-ext or > warnings configuration information: > 11-Apr-2012 13:46:50 hudson.ExpressionFactory2$JexlExpression evaluate > WARNING: Caught exception evaluating: i.descriptor. Reason: > java.lang.reflect.InvocationTargetExcept > ion > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125) > at > org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectIm > pl.java:314) > at > org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185) > at > org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75) > at > org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) > at > org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) > at > org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:5 > 1) > at > org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) > at > hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:72) > at > org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134) > > > > On 11 April 2012 10:53, Ullrich Hafner <ullrich.haf...@gmail.com> wrote: >> I haven't yet done that but it should be possible to access the objects >> using this method from your script: >> >> WarningsResultAction action = >> getAction("hudson.plugins.warnings.WarningsResultAction") >> From this object you get the result using action.getResult() >> >> Maybe we can work together on making an example for the warnings plug-in >> so that I can include it on the wiki page? >> >> Ulli >> >> >> >> On 04/11/2012 11:25 AM, Darren Syzling wrote: >>> Regarding the Warnings plugin - is there anyway I can access warning >>> information for the current build from a mail-ext groovy template by >>> using the hudson/jenkins model API? Or would I use the token macro >>> expansion plugin in some way? I was wondering if there was a >>> documented way of gaining access to the WarningsResult and >>> WarningsResultAction so I could access the getSummary method from >>> within the mail template (or iterate over other information if >>> necessary) in a similar way to accessing JUnit test results? I >>> wondered if there was a standard way for plugins to publish their >>> action results into the Hudson model so that post build actions could >>> retrieve and process them, >>> >>> > >