ChuckNorris Plugin

Plugin Information

Plugin ID chucknorris
Latest Release 0.5
Latest Release Date Jan 20, 2013
Sources Github
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla

Displays a picture of Chuck Norris (instead of Hudson the butler) and a random Chuck Norris 'The Programmer' fact on each build page.

Development moved to Jenkins

The author of this plugin has announced that he will not be making further bug fixes for this plugin in Hudson.

The latest information can now be found on the Jenkins wiki:
http://wiki.jenkins-ci.org/display/JENKINS/ChuckNorris+Plugin

Labels:

plugin-ui plugin-ui Delete
tier3-hudson-plugin tier3-hudson-plugin Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. 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?

    1. 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.

  2. 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?

    1. 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.

  3. 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!!!

    1. 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.

  4. 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...

    1. 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).

    2. 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!

      1. 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.

  5. 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...

    1. 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:

      1. removed all of the ChuckNorris entries from all projects config.xml files
      2. double checked that nothing is left with: find . -name "config.xml" -print | xargs grep "chucknorris"
      3. stopped Hudson
      4. emptied the log files
      5. started hudson
      6. checked the logs: The error was still there :(

      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...

      1. 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.

        1. 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...

          1. 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.

  6. 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

    1. May 21, 2010

      Fabian Baboschi says:

      Agree. I'd like that too.

      Agree. I'd like that too.

  7. 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.

  8. Nov 03, 2010

    Deezer Deezer says:

    No Norris in Hudson ver. 1.382, Norris 0.4

    No Norris in Hudson ver. 1.382, Norris 0.4

    1. 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?