title: Jenkins: Checkstyle, PMD, Copy-paste-detector reports
body: <p>I'm totally new to jenkins and don't know how to create the QA reports. 
  I use jenkins with checkstyle, PMD and a copy-paste-detector for PHP. The build runs and completed successful. The output of the console is:</p>
  
  <pre><code>BUILD SUCCESSFUL
  Total time: 31 seconds
  [CHECKSTYLE] Collecting checkstyle analysis files...
  [CHECKSTYLE] Finding all files that match the pattern build/logs/checkstyle.xml
  [CHECKSTYLE] Computing warning deltas based on reference build #54
  [PMD] Collecting PMD analysis files...
  [PMD] Finding all files that match the pattern build/logs/pmd.xml
  [PMD] Computing warning deltas based on reference build #54
  [DRY] Collecting duplicate code analysis files...
  [DRY] Finding all files that match the pattern build/logs/pmd-cpd.xml
  [DRY] Computing warning deltas based on reference build #54
  [JDepend] JDepend plugin is ready
  [JDepend] Found 81 classes in 23 packages
  Finished: SUCCESS
  </code></pre>
  
  <p>If I look in my build directory, there are the logs for the copy-paste and pmd tool. But checkstyle is missing. </p>
  
  <p>My build file is from this tutorial: <a href="http://jenkins-php.org/" rel="nofollow">jenkins-php tutorial</a></p>
  
  <p>In my job configuration in the post-build actions are all tools listed. BUT there is shown an error I can't resolve. In the post-build actions I have to say where the output file are generated. So for checkstyle I have</p>
  
  <pre><code>build/logs/checkstyle.xml
  </code></pre>
  
  <p>But below there is the error message
  *<em>build/logs/checkstyle.xml not found: 'build' exists, but not build/logs/checkstyle.xml *</em></p>
  
  <p>The same with PMD and cops paste. In the overview after an successful build, it tells me, that there were no warnings found. Rhe created log files contain warnings. </p>
  
  <p>So how can I make jenkins to use the created report files?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Following the checkstyle lines of my build.xml</p>
  
  <pre><code>&lt;target name="phpcs" description="Find coding standard violations using PHP_CodeSniffer and print human readable output. Intended for usage on the command line before committing."&gt;
    &lt;exec executable="phpcs"&gt;
     &lt;arg value="--standard=${basedir}/build/phpcs.xml"/&gt;
     &lt;arg path="${basedir}/project"/&gt;
    &lt;/exec&gt;
   &lt;/target&gt;
  
   &lt;target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server"&gt;
    &lt;exec executable="phpcs" output="/dev/null"&gt;
     &lt;arg value="--report=checkstyle"/&gt;
     &lt;arg value="--report-file=${basedir}/build/logs/checkstyle.xml"/&gt;
     &lt;arg value="--standard=${basedir}/build/phpcs.xml"/&gt;
     &lt;arg path="${basedir}/project"/&gt;
    &lt;/exec&gt;
   &lt;/target&gt;
  </code></pre>
  
  <p>If I run phpcs manual I get this:</p>
  
  <pre><code>PHP Notice:  Undefined offset: -1 in /usr/share/php/PHP/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionCallSignatureSniff.php on line 186
  PHP Stack trace:
  PHP   1. {main}() /usr/bin/phpcs:0
  PHP   2. PHP_CodeSniffer_CLI-&gt;process() /usr/bin/phpcs:37
  PHP   3. PHP_CodeSniffer-&gt;process() /usr/share/php/PHP/CodeSniffer/CLI.php:558
  PHP   4. PHP_CodeSniffer-&gt;processFile() /usr/share/php/PHP/CodeSniffer.php:504
  PHP   5. PHP_CodeSniffer-&gt;_processFile() /usr/share/php/PHP/CodeSniffer.php:1258
  PHP   6. PHP_CodeSniffer_File-&gt;start() /usr/share/php/PHP/CodeSniffer.php:1380
  PHP   7. PEAR_Sniffs_Functions_FunctionCallSignatureSniff-&gt;process() /usr/share/php/PHP/CodeSniffer/File.php:490
  PHP   8. PEAR_Sniffs_Functions_FunctionCallSignatureSniff-&gt;processMultiLineCall() /usr/share/php/PHP/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionCallSignatureSniff.php:113
  </code></pre>