Usage

Introduction

Codecheckers check java source against some ruleset and output all violations against this ruleset. The rules may be classified in categories and/or priorities/severities.

The codecheckers parse java source or class files and produce their results in either xml-files flat-file or in some directory structure. Metacheck reads and parses these results and writes it to a common jcsc-like structure.

Metacheck implements for each codechecker a corresponding 'stylist' java class. This stylist reads and parses the results from the codechecker, integrates these results in metacheck and for some codechecker reads some additional information like rule categories or descriptions.

For usage from an ant build script ant-tasks are implemented, they can be used in an ant build script ant after a taskdef like this:

             <taskdef name="lint4j-style" 
                      classname="nl.romme.tools.metacheck.ant.Lint4jStylistTask"/>
          
All metacheck taskdefs can be loaded from a properties file:
             <taskdef resource="metachecktask.properties"/>
          

Finally a description of report-style is provided.

XML based results

Checkstyle, findbugs, pmd and revjava (can) generate their results in an xml format. These results can be used as input to their metacheck-style tasks: For example:

            <checkstyle-style todir="target/metacheck/checkstyle" 
                     inxml="checkstyle-report.xml"/>
          
Findbugs-style and pmd-style have one additional parameter (bugdescriptions and pmdjar) to generate the additional example html files.

Flatfile results

Cpd and lint4j generate their results in an flat file format. These results can be used as input to their metacheck-style tasks, for example:

            <cpd-style todir="target/metacheck/cpd" 
                     intxt="cpd-report-file.txt"/>
          
Lin4j-style has one additional parameter (lint4jjar) to generate the additional example html files.

Directory

Hammurapi, jcsc and qjpro generate their results in a directory containing multiple files. These results can be used as input to their metacheck-style tasks, for example:

            <qjpro-style todir="target/metacheck/qjpro" 
                     indir="qjpro-output-directory"/>
          

Report-style

Finally the report-style task can be used to run style tasks for multiple style tasks, it gathers information from the tasks and generates the meta report. Report-style has one parameter 'todir' and for each code checker a parameter that specifies where it's codecheckers results are to be found. For example:

            <report-style todir="target/metacheck" jcsc="jcsc-output-directory" 
              pmd="pmd-report.xml" lint4j="lint4j-report.txt" />
          
Using this report-style task it is currently not possible to specify the extra parameters.