Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

Plugin Information

View DRY on the plugin site for more information.

Older versions of this plugin may not be safe to use. Please review the following warnings before using an older version:

This plugin generates the trend report for duplicate code checkers like CPD or Simian.

This plugin reached end-of-life. All functionality has been integrated into the Warnings Next Generation Plugin.


  1. Unknown User (mookie)

    Thanks for that, it will be very useful in my company.

    I really love such reports plugins, however this plugin seems to cause a problem within displaying hudson job configuration view. Ff's firebug says there are too much recursion of following javascript line.

    window.onload = function() { if(oldOnLoadFordryDefaultEncoding) oldOnLoadFordryDefaultEncoding();

    That problem refers also latest versions of checkstyle, pmd, findbugs and varnings plugins.

    1. Unknown User (drulli)

      This is a know problem due if the plug-ins are used together with the build-promotion plug-in: see JENKINS-2781

  2. Unknown User (resvoe)

    The tool is very usefull and looks better than the violations report.

    But with version 2.0 I can no more see, where the duplication comes from. Knowing that some code is duplicated is helpfull but for legacy applications with lots of duplicated code it helps to know which files to compare.

    1. Unknown User (drulli)

      Hmm, that seems to be a bug. Can you please create a new issue in our Jira tracker?

      1. Unknown User (resvoe)

  3. Unknown User (felix_petriconi)


    Under Windows Server 2003 / 7 x64 the DRY plugin prefers the XML-report in ISO-8859-1 format and not in CP-1252. So set the encoding of cpd to this format.

    With Ant and C++ code as executor this is the command:

     <cpd minimumTokenCount="100" language="cpp" encoding="ISO-8859-1" format="xml" outputfile="report.xml">
  4. Unknown User (hsnnn)

    Something is causing my build to fail.

    This started after I installed DRY.

    here's the console output:DRY Collecting duplicate code analysis files...
    DRY Finding all files that match the pattern simian.xml
    DRY Parsing 1 files in C:\Jenkins\jobs\QiBuilder\workspace
    DRY Successfully parsed file C:\Jenkins\jobs\QiBuilder\workspace\simian.xml of module with 10404 warnings.

    FATAL: null
    at sun.nio.cs.UTF_8.updatePositions(Unknown Source)
    at sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(Unknown Source)
    at sun.nio.cs.UTF_8$Encoder.encodeLoop(Unknown Source)
    at java.nio.charset.CharsetEncoder.encode(Unknown Source)
    at sun.nio.cs.StreamEncoder.implWrite(Unknown Source)
    at sun.nio.cs.StreamEncoder.write(Unknown Source)
    at java.io.OutputStreamWriter.write(Unknown Source)
    at java.io.BufferedWriter.flushBuffer(Unknown Source)
    at java.io.BufferedWriter.flush(Unknown Source)
    at hudson.util.AtomicFileWriter.flush(AtomicFileWriter.java:90)(removed the rest of the 1000+ lines)
    I've created an issue with the XML file included: https://issues.jenkins-ci.org/browse/JENKINS-16298

  5. Unknown User (jamil_nyc)

    Is there a way to send out notifications of "new" instances of code duplication? I noticed there's a new tab on the page, and I wanted to extract that information to put into an email notification. However, there is no such information in the XML file generated by phpcpd, so I'm wondering how you calculate new violations.

  6. Unknown User (pepperino)

    There is a problem with the plugins "Task Scanner" and DRY. When I include one of these in as a post-process step in a MultiJob task, the build does not generate a build.xml file. The result is that Jenkins reloads the build disappears from the list.

  7. Unknown User (pepperino)


    there is a problem with the "Task Scanner" and the DRY plugins. When I include one of these as a post-build step in a MultiJob job, the build does not generate a build.xml file. The result is that when Jenkins is reloaded from file the build disappears from the build list.