Plugin Information
Displays a picture of Chuck Norris (instead of Hudson the butler) and a random Chuck Norris 'The Programmer' fact on each build page.
|
Plugin Information
Displays a picture of Chuck Norris (instead of Hudson the butler) and a random Chuck Norris 'The Programmer' fact on each build page.
|
Comments (20)
Oct 01, 2009
Greg Moore says:
Me thinks some one has way way too much time on there hands. LOL whats next Bru...Me thinks some one has way way too much time on there hands. LOL
whats next Bruce Lee?
Oct 15, 2009
Cliffano Subagio says:
Just a plugin I wrote when I first learnt how to write a Hudson plugin :). Hon...Just a plugin I wrote when I first learnt how to write a Hudson plugin :).
Honouring Bruce Lee is implicitly implied via ChuckNorris Plugin since Chuck himself once said "Lee, pound for pound, might well have been one of the strongest men in the world, and certainly one of the quickest."
BruceLee Plugin would be similar to ChuckNorris Plugin, only the images more bad ass, and the quotes more philosophical.
Oct 07, 2009
Brian J. Sayatovic says:
I've installed it, but it only shows "happy" Chuck Norris, and no statement abou...I've installed it, but it only shows "happy" Chuck Norris, and no statement about Chuck Norris' abilities. What is the trigger for it to change image and/or text?
Oct 15, 2009
Cliffano Subagio says:
The image depends on the build result. Success -> happ...The image depends on the build result.
Success -> happy Chuck
Warning/Aborted -> alert Chuck
Failure -> badass Chuck
The text is random.
Oct 22, 2009
Graham Keogh says:
Doesn't seem to work with 1.318. I get the text displayed but no graphics. Look...Doesn't seem to work with 1.318. I get the text displayed but no graphics.
Looking at the source its pulling it from /hudson/plugin/chucknorris/images yet you can't hit this!!!
Dec 30, 2009
Cliffano Subagio says:
I tested the plugin with 1.318 and it worked fine. My suggestion is to reinstall...I tested the plugin with 1.318 and it worked fine.
My suggestion is to reinstall the plugin and restart Hudson, or perhaps upgrade both Hudson and ChuckNorris plugin to the latest versions.
Note that the image doesn't appear on the job page for Maven projects, it appears on the build pages. For freestyle projects, the image appears on job and build pages.
Jan 19, 2010
Jörg Godau says:
Upgraded to Hudson 1.341 and am getting lots of errors like: 19.01.2010 15:00:4...Upgraded to Hudson 1.341 and am getting lots of errors like:
19.01.2010 15:00:43 hudson.util.RobustReflectionConverter doUnmarshal
WARNUNG: Skipping a non-existent field fact
com.thoughtworks.xstream.converters.reflection.NonExistentFieldException: No such field hudson.plugins.chucknorris.RoundhouseAction.fact
at com.thoughtworks.xstream.converters.reflection.FieldDictionary.field(FieldDictionary.java:106)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.getFieldType(PureJavaReflectionProvider.java:152)
at hudson.util.RobustReflectionConverter.determineType(RobustReflectionConverter.java:326)
at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:217)
at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:172)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at hudson.util.RobustCollectionConverter.populateCollection(RobustCollectionConverter.java:82)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:61)
at hudson.util.RobustCollectionConverter.unmarshal(RobustCollectionConverter.java:73)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at hudson.util.RobustReflectionConverter.unmarshallField(RobustReflectionConverter.java:261)
at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:221)
at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:172)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
at hudson.util.XStream2.unmarshal(XStream2.java:70)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
at hudson.XmlFile.unmarshal(XmlFile.java:148)
at hudson.model.Run.<init>(Run.java:252)
at hudson.model.AbstractBuild.<init>(AbstractBuild.java:151)
at hudson.model.Build.<init>(Build.java:97)
at hudson.model.FreeStyleBuild.<init>(FreeStyleBuild.java:41)
at sun.reflect.GeneratedConstructorAccessor23.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at hudson.model.AbstractProject.loadBuild(AbstractProject.java:813)
at hudson.model.AbstractProject$1.create(AbstractProject.java:209)
at hudson.model.AbstractProject$1.create(AbstractProject.java:207)
at hudson.model.RunMap.load(RunMap.java:221)
at hudson.model.AbstractProject.onLoad(AbstractProject.java:207)
at hudson.model.Project.onLoad(Project.java:86)
at hudson.model.Items.load(Items.java:107)
at hudson.model.Hudson$12.run(Hudson.java:2108)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at hudson.model.Hudson$3.runTask(Hudson.java:648)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
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:619)
I've tried to uninstall and reinstall the ChuckNorris Plugin but it doesn't help - what causes this and how can I prevent it from happening??
Jack...
Jan 19, 2010
Cliffano Subagio says:
I just tested ChuckNorris Plugin 0.3 on Hudson 1.338, which was then upgraded to...I just tested ChuckNorris Plugin 0.3 on Hudson 1.338, which was then upgraded to 1.341, and the plugin worked alright without any exception.
What version of Hudson did you upgrade from?
Did you upgrade ChuckNorris Plugin as well?
What version of ChuckNorris Plugin are you using?
Did you upgrade ChuckNorris Plugin as well?
Did you run the build on a slave machine?
Could you also try removing the following lines from the job's config.xml
<hudson.plugins.chucknorris.CordellWalkerRecorder>
<factGenerator/>
</hudson.plugins.chucknorris.CordellWalkerRecorder>
then restart Hudson, reactivate ChuckNorris on the job configuration page, and run another build.
If you still see the same error, please attach or email me (cliffano@gmail.com) your job config.xml (don't forget to filter any non-public info).
Jan 20, 2010
Cliffano Subagio says:
Ok, I managed to reproduce the warning message (please note that it's a warning ...Ok, I managed to reproduce the warning message (please note that it's a warning and not an error)
1. Run a build with ChuckNorris Plugin 0.1 or 0.2, this will appear in the job's build.xml
<hudson.plugins.chucknorris.RoundhouseAction>
<style>BAD_ASS</style>
<fact>Chuck Norris can access private methods.</fact>
</hudson.plugins.chucknorris.RoundhouseAction>
2. Upgrade to ChuckNorris Plugin 0.3, run a build, this will appear in build.xml
<hudson.plugins.chucknorris.RoundhouseAction>
<mStyle>BAD_ASS</mStyle>
<mFact>Chuck Norris can access private methods.</mFact>
</hudson.plugins.chucknorris.RoundhouseAction>
If you restart Hudson and view build#1, you'll see NonExistentFieldException warning because field style and fact no longer exist as they're replaced by mStyle and mFact in 0.3 (my bad for making this mistake of changing the field names, I should've been more careful).
This means build#1 ignores ChuckNorris Plugin and won't display Chuck's image and quote.
Meanwhile, build#2 is ok and displays the image and quote as normal.
I agree that this is annoying and the long stack trace really pollutes the log file.
A quick google search shows that others suffer similar issue:
- PerforcePlugin http://wiki.hudson-ci.org/display/HUDSON/Perforce+Plugin
- GitSCM http://stackoverflow.com/questions/534308/how-do-you-set-up-hudson-to-work-with-git
- SCMTrigger http://markmail.org/message/rwyzpv5op7y5x4bk#query:hudson%20NonExistentFieldException+page:1+mid:i6emx2rz3y3jw62a+state:results
Not nice. I'll see if there's a way to fix this in the next version.
If you really want to get rid of those warning messages right now, the simplest thing to do is to do mass replace of <style> to <mStyle> and <fact> to <mFact> within <hudson.plugins.chucknorris.RoundhouseAction>, or remove <hudson.plugins.chucknorris.RoundhouseAction> completely from the old builds.
Update: v0.4 should preserve backward compatibility to version 0.1 and 0.2 so that the warning messages will disappear silently by upgrading to 0.4 . Stay tuned!
Jan 21, 2010
Cliffano Subagio says:
I just released v0.4 that should get rid of the NonExistentFieldException from t...I just released v0.4 that should get rid of the NonExistentFieldException from the log file.
Thanks for highlighting this issue to me, sorry it caused you grief with the prev version.
Jan 19, 2010
Jörg Godau says:
We upgraded from Hudson 1.337 to 1.341. The ChuckNorris plugin was and still is ...We upgraded from Hudson 1.337 to 1.341. The ChuckNorris plugin was and still is Version 0.3
Builds are all run locally (no slave machines).
The error only occurs at Hudson startup (everything else seems to run normally).
I will test the changes to the config.xml files and restart overnight and let you know tomorrow how that goes.
Thanks
Jack...
Jan 20, 2010
Jörg Godau says:
Hi, I've just done the following: removed all of the ChuckNorris entries from...Hi,
I've just done the following:
I did a more thorough search and discovered these entries in the old build.xml files contain:
<hudson.plugins.chucknorris.RoundhouseAction>
<style>BAD_ASS</style>
<fact>Chuck Norris can access private methods.</fact>
</hudson.plugins.chucknorris.RoundhouseAction>
After cleaning these and deleting all chucknorris files from the hudson/plugins directory the errors are gone except for:
INFO: Started all plugins
failed to locate class: com.thoughtworks.xstream.mapper.CannotResolveClassException: hudson.plugins.chucknorris.RoundhouseAction : hudson.plugins.chucknorris.RoundhouseAction
failed to locate class: com.thoughtworks.xstream.mapper.CannotResolveClassException: hudson.plugins.chucknorris.RoundhouseAction : hudson.plugins.chucknorris.RoundhouseAction
failed to locate class: com.thoughtworks.xstream.mapper.CannotResolveClassException: hudson.plugins.chucknorris.RoundhouseAction : hudson.plugins.chucknorris.RoundhouseAction
20.01.2010 11:47:57 hudson.model.Hudson$4 onAttained
Please advise how I might be able to get rid of these last errors?
I want to _completely_ remove all traces of the chucknorris plugin from our system.
Thanks
Jack...
Jan 20, 2010
Cliffano Subagio says:
Unfortunately this one is an open issue http://issues.hudson-ci.org/browse/HUDSO...Unfortunately this one is an open issue http://issues.hudson-ci.org/browse/HUDSON-3786 (for DiskUsage Plugin, but same prob re uninstalling a plugin)
A similar issue was also raised against Warnings Plugin but was closed as not-reproducible.
I suggest voting for issue HUDSON-3786 so that it appears on the top 10 list and hopefully one of the core devs can look at it.
I know you're not going to like this, but can you try installing ChuckNorris Plugin again but you don't have to activate it on any job, do you still see the CannotResolveClassException?
In the mean time, I'll keep trying to reproduce the exception.
Jan 21, 2010
Jörg Godau says:
After I reinstalled it (without enabling it on any project) I got 6 of these sta...After I reinstalled it (without enabling it on any project) I got 6 of these stack traces on startup:[snip]If I deactivate it (via the Hudson, manage plugins page) I get 3 of these when I restart:[snip]EDIT: I found another three old builds were still in the system with chucknorris tags. I removed these and now no errors appear (whether hudson is present or not).
Thanks for your help!
Regards
Jack...
Jan 21, 2010
Cliffano Subagio says:
After searching the mailing list archive, it looks like the rule of thumb is to ...After searching the mailing list archive, it looks like the rule of thumb is to never remove a plugin.
Unless, like what you just did, you cleaned up traces of the plugin from the config.xml and build.xml files.
May 10, 2010
Axel Heider says:
Feature Request: allow changing the quotes. Either vie GUI or use a separate fil...Feature Request: allow changing the quotes. Either vie GUI or use a separate file
May 21, 2010
Fabian Baboschi says:
Agree. I'd like that too.Agree. I'd like that too.
Aug 25, 2010
Luigi R. Viggiano says:
From my blog : The only primitive Chuck Norris uses in Java is ABSOLUTE_FEAR. ...From my blog :
The only primitive Chuck Norris uses in Java is ABSOLUTE_FEAR. In fact, in his dialect of Java, it is the only legal symbol in the entire language. There are no variables, because Chuck never varies: the pain he causes is constant. There are no control statements, because Chuck is always in control. There are no classes, because Chuck is is a class by himself. And no package has yet been made that could contain Chuck. You can't use protected access modifier as nobody can protect you from Chuck Norris. Even the JVM must never run his code optimized; since his code is already optimal, and this would cause a black hole singularity where the processor used to be.
Nov 03, 2010
Deezer Deezer says:
No Norris in Hudson ver. 1.382, Norris 0.4No Norris in Hudson ver. 1.382, Norris 0.4
Nov 19, 2010
Cliffano Subagio says:
I just tested it against Hudson 1.385 and it worked fine. Any error? Could you ...I just tested it against Hudson 1.385 and it worked fine.
Any error? Could you please try 1.385?