<?xml version="1.0"?>

<!--
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing permissions and limitations under the License.

This work is copyright by the author(s) and is part of a greater work collectively copyright by the
Groovy community. See the NOTICE.txt file distributed with this work for additional information.

Author : Paul King
$Revision: 5519 $ ($LastChangedBy: paulk $)
$Date: 2007-03-11 19:14:07 +1000 (Sun, 11 Mar 2007) $
-->

<project name="build-checkstyle" default="" xmlns:cs="antlib:com.puppycrawl.tools.checkstyle" basedir="../..">

    <import file="build-setup.xml"/>

    <target name="-checkstyleInit">
        <taskdef resource="checkstyletask.properties" uri="antlib:com.puppycrawl.tools.checkstyle" classpathref="toolsPath"/>
    </target>

    <macrodef name="checkAndReport">
        <attribute name="reportDirectory"/>
        <attribute name="sourceDirectory"/>
        <attribute name="excludes"/>
        <element name="path"/>
        <sequential>
            <property name="checkstyle.basedir" value="@{sourceDirectory}"/>
            <property name="checkstyleReportDir" location="@{reportDirectory}"/>
            <property name="checkstyleResultPrefix" location="@{reportDirectory}/result"/>
            <mkdir dir="@{reportDirectory}"/>
            <cs:checkstyle config="config/checkstyle/config.xml" failureProperty="checkstyle.failure"
                  failOnViolation="false">
                <classpath>
                    <path/>
                </classpath>
                <formatter type="xml" tofile="${checkstyleResultPrefix}.xml"/>
                <fileset dir="@{sourceDirectory}" excludes="@{excludes}"/>
            </cs:checkstyle>
            <xslt in="${checkstyleResultPrefix}.xml" out="${checkstyleResultPrefix}.html" style="config/checkstyle/checkstyle-frames.xsl">
                <param name="output.dir" expression="${checkstyleReportDir}"/>
            </xslt>
        </sequential>
    </macrodef>

</project>
