This plugin reads the "crappy methods" report from
[Crap4J](http://crap4j.org/). Jenkins will generate the trend report of
crap percentage and provide detailed information about changes. Users
will be able to track which methods are crappy and when they entered and
left the code base.  
  
  
  

# Restrictions

Currently, this plugin is restricted to use with **freestyle (ant)**
jobs. Future releases might support all kinds of jobs. Let me know your
needs by filing a request for enhancement [in the issue
tracker](https://hudson.dev.java.net/issues/enter_bug.cgi?subcomponent=crap4j&issue_type=FEATURE).

# Description

The crap4j plugin scans the Crap4J report data and reports trends.  
These features are currently implemented:

-   Crap report page for jobs
    -   Trend charts for Crappyness, Crap Method Count, Crap Load and
        Crap
    -   List of all current crap methods of the job
-   Crappyness trend chart on job overview page
-   Crap report page for builds
    -   List of all current crap methods of the build
    -   List of new and fixed crap methods in comparison to the previous
        build
-   Crap report summary in the build report column
    -   Statistical summary and links to current, new and fixed crap
        methods  
        ![](docs/images/crap-summary.png)

# Configuring the Crap4J Plugin

1.  Get the [crap4j
    plugin](https://hudson.dev.java.net/servlets/ProjectDocumentList?folderID=9231&expandFolder=9231&folderID=5818),
    preferably using Jenkins plugin manager
2.  Install the crap4j plugin in your Jenkins, if downloaded manually
3.  Configure your project's build script to generate crap4j XML reports
    (This happens along with the HTML report)
4.  Enable the "Publish Crap" publisher on the job configuration page
5.  Specify the directory where the crap4j report (report.xml) is
    generated
6.  Perform some builds to receive a trend

The crap4j plugin currently has no configurable parameters. The build
health indicator is set to the [Crap4J quality
suggestion](http://crap4j.org/faq.html), with 15% crappy methods being
0% build health.

# Feedback

This plugin is developed and maintained by Daniel Lindner with kind
support from [Softwareschneiderei
GmbH](http://www.softwareschneiderei.de/). Please feel free to contact
me for feedback. If you have suggestions for new features or you've
found a bug, please use the [issue
tracker](https://hudson.dev.java.net/issues/enter_bug.cgi?subcomponent=crap4j)
or the [mailing
lists](https://hudson.dev.java.net/servlets/ProjectMailingListList). If
you use the issue tracker, assign the issue directly to java.net ID
dlindner.

# Changelog

Release 0.9 (2014-10-22):

-   Fail-fast behaviour by explicitly signaling missing report files
    (see Issue
    [24912](https://issues.jenkins-ci.org/browse/JENKINS-24912))
-   Uses Jenkins URL instead of server name now (see Issue
    [22279](https://issues.jenkins-ci.org/browse/JENKINS-22279))

Release 0.8 (2010-08-01):

-   Fix incompatibility with hudson core version 1.368 (see Issue
    [7088](http://issues.jenkins-ci.org/browse/JENKINS-7088))
-   Job configuration is stored again (see Issue
    [5493](http://issues.jenkins-ci.org/browse/JENKINS-5493))
    -   **Attention!** This requires you to **re-configure all your
        crap4j-enabled jobs** once. Sorry for the inconvenience!

Release 0.7 (2009-12-30):

-   Fix links for installs with context path (see Issue
    [4361](https://issues.jenkins-ci.org/browse/JENKINS-4361))
-   Decrease parsing effort of not crappy methods
-   Remove dependency on maven plugin
-   Update code for more recent Hudson

Release 0.6.1 (2009-03-15):

-   Restored compatibility with Java 5 (see Issue
    [3282](https://issues.jenkins-ci.org/browse/JENKINS-3282), reported
    by felixdrueke)

Release 0.6 (2009-02-25):

-   Several report.xml files can be merged into one report now (see
    Issue [2995](https://issues.jenkins-ci.org/browse/JENKINS-2995),
    suggested by Oliver Imlinger)
-   Report parsing takes locale into account (see Issue
    [2953](https://issues.jenkins-ci.org/browse/JENKINS-2953), reported
    by Oliver Imlinger)
-   Report path pattern now supports space characters (see Issue
    [2963](https://issues.jenkins-ci.org/browse/JENKINS-2963), reported
    by Mihael Vrbanec)
    -   **Attention!** This **breaks backward compatibility** for
        patterns using **spaces as separators**. Use commas instead.

Release 0.5 (2008-12-31):

-   Enabled use in Master/Slave setups (see Issue
    [2385](https://issues.jenkins-ci.org/browse/JENKINS-2385))

Release 0.4 (2008-07-03):

-   Identical on features to version 0.3
-   Added missing documentation
-   Corrected misleading configuration section title

Release 0.3 (2008-07-03) - please use 0.4 instead.

-   Bugfix: crappyness trend chart missing scale on y-axis if lower than
    1.0 (Issue
    [1952](https://issues.jenkins-ci.org/browse/JENKINS-1952), reported
    by Nigel Charman)
-   Enhancement: Adjustable build health indicator (Issue
    [1985](https://issues.jenkins-ci.org/browse/JENKINS-1985))

Release 0.2 (2008-06-03):

-   Compatible to Java5 VMs. Improvement request by Leon Oosterwijk.

Release 0.1 (2008-05-17):

-   Initial release. Please feel free to suggest new features.