static0886 static0886 - 2 months ago 17
Java Question

Setup checkstyle as part of java project build process

I am working on adding checkstyle to the build process of a java project. The results of the checkstyle will be later displayed on jenkins. I am using java7 & netbeans 7.2.1

For most of the work I am following the instructions on this page: http://checkstyle.sourceforge.net/anttask.html

However, i'm a beginner in java (& jenkins) and some of the instructions do not make sense to me:

1- The doc says: "To use the task in a build file, you will need the following taskdef declaration: ".
Question: is this to be added in the build.xml file? or where?

2- Then the doc goes on describing a set of parameters and provides some examples. Are these to be added to build.xml too? or?

3- Checkstyle uses a configuration file. I'll be using the standard sun_checks.xml. Where should this be placed?

If someone can point me out to a step by step tutorial for the whole process, i'd be most grateful.
Thx in advance for all answers

I am using the following in my build.xml:

<taskdef resource="checkstyletask.properties"
classpath="libs/checkstyle-5.6-all.jar"/>

<target name="checkstyle"
description="Generates a report of code convention violations.">

<checkstyle config="sun_checks.xml"
failureProperty="checkstyle.failure"
failOnViolation="false">
<fileset dir="src" includes="**/*.java"/>
<formatter type="xml" toFile="checkstyle-results.xml"/>
</checkstyle>

<style in="checkstyle-results.xml" out="checkstyle_report.html" style="checkstyle.xsl"/>

</target>

Answer
  1. yes, you must add it in your build.xml

  2. These attributes and elements are attributes and elements of the <checkstyle> ant task, which you can use in your build file thanks to the taskdef you have added in point 1. And yes, this <checkstyle> task must be used in your build.xml.

  3. You place it wherever you want. you just need to give its path to the <checkstyle> task using its config attribute.