Class CheckstyleAntTask

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask
All Implemented Interfaces:
Cloneable

public class CheckstyleAntTask extends org.apache.tools.ant.Task
An implementation of an ANT task for calling checkstyle. See the documentation of the task for usage.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Details about a formatter to be used.
    static class 
    Poor man enumeration for the formatter types.
    static class 
    Represents a property that consists of a key and value.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private String
    Config file containing configuration.
    private static final String
    Poor man's enum for a plain formatter.
    private static final String
    Poor man's enum for a sarif formatter.
    private static final String
    Poor man's enum for an xml formatter.
    private boolean
    Whether to execute ignored modules - some modules may log above their severity depending on their configuration (e.g.
    private boolean
    Whether to fail build on violations.
    private String
    Property to set on violations.
    private String
    Name of file to check.
    private final List<org.apache.tools.ant.types.FileSet>
    Contains the filesets to process.
    Contains the formatters to log to.
    private int
    The maximum number of errors that are tolerated.
    private int
    The maximum number of warnings that are tolerated.
    Contains the Properties to override.
    private final List<org.apache.tools.ant.types.Path>
    Contains the paths to process.
    private File
    The name of the properties file.
    private static final String
    Suffix for time string.

    Fields inherited from class org.apache.tools.ant.Task

    target, taskName, taskType, wrapper

    Fields inherited from class org.apache.tools.ant.ProjectComponent

    description, location, project
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addFileset(org.apache.tools.ant.types.FileSet fileSet)
    Adds set of files (nested fileset attribute).
    void
    Add a formatter.
    void
    addPath(org.apache.tools.ant.types.Path path)
    Adds a path.
    void
    Add an override property.
    org.apache.tools.ant.types.Path
    Deprecated.
    left in implementation until #12556 only to allow users to migrate to new gradle plugins.
    private Properties
    Create the Properties object based on the arguments specified to the ANT task.
    private RootModule
    Creates new instance of the root module.
    void
     
    private List<File>
    Returns the list of files (full path name) to process.
    private AuditListener[]
    Return the array of listeners set in this task.
    private void
    processFiles(RootModule rootModule, SeverityLevelCounter warningCounter, String checkstyleVersion)
    Scans and processes files by means given root module.
    private void
    realExecute(String checkstyleVersion)
    Helper implementation to perform execution.
    private List<File>
    retrieveAllScannedFiles(org.apache.tools.ant.DirectoryScanner scanner, int logIndex)
    Retrieves all matched files from the given scanner.
    protected List<File>
    Returns the list of files (full path name) to process.
    private List<File>
    scanPath(org.apache.tools.ant.types.Path path, int pathIndex)
    Scans the given path and retrieves all files for the given path.
    private List<File>
    Retrieves all files from the defined paths.
    void
    setConfig(String configuration)
    Sets configuration file.
    void
    Sets flag - whether to execute ignored modules.
    void
    setFailOnViolation(boolean fail)
    Sets flag - whether to fail if a violation is found.
    void
    setFailureProperty(String propertyName)
    Tells this task to write failure message to the named property when there is a violation.
    void
    setFile(File file)
    Sets file to be checked.
    void
    setMaxErrors(int maxErrors)
    Sets the maximum number of errors allowed.
    void
    setMaxWarnings(int maxWarnings)
    Sets the maximum number of warnings allowed.
    void
    Sets a properties file for use instead of individually setting them.

    Methods inherited from class org.apache.tools.ant.Task

    bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

    Methods inherited from class org.apache.tools.ant.ProjectComponent

    clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • setFailureProperty

      public void setFailureProperty(String propertyName)
      Tells this task to write failure message to the named property when there is a violation.
      Parameters:
      propertyName - the name of the property to set in the event of a failure.
    • setFailOnViolation

      public void setFailOnViolation(boolean fail)
      Sets flag - whether to fail if a violation is found.
      Parameters:
      fail - whether to fail if a violation is found
    • setMaxErrors

      public void setMaxErrors(int maxErrors)
      Sets the maximum number of errors allowed. Default is 0.
      Parameters:
      maxErrors - the maximum number of errors allowed.
    • setMaxWarnings

      public void setMaxWarnings(int maxWarnings)
      Sets the maximum number of warnings allowed. Default is Integer.MAX_VALUE.
      Parameters:
      maxWarnings - the maximum number of warnings allowed.
    • addPath

      public void addPath(org.apache.tools.ant.types.Path path)
      Adds a path.
      Parameters:
      path - the path to add.
    • addFileset

      public void addFileset(org.apache.tools.ant.types.FileSet fileSet)
      Adds set of files (nested fileset attribute).
      Parameters:
      fileSet - the file set to add
    • addFormatter

      public void addFormatter(CheckstyleAntTask.Formatter formatter)
      Add a formatter.
      Parameters:
      formatter - the formatter to add for logging.
    • addProperty

      public void addProperty(CheckstyleAntTask.Property property)
      Add an override property.
      Parameters:
      property - the property to add
    • createClasspath

      @Deprecated(since="10.7.0") public org.apache.tools.ant.types.Path createClasspath()
      Deprecated.
      left in implementation until #12556 only to allow users to migrate to new gradle plugins. This method will be removed in Checkstyle 11.x.x .
      Creates classpath.
      Returns:
      a created path for locating classes
    • setFile

      public void setFile(File file)
      Sets file to be checked.
      Parameters:
      file - the file to be checked
    • setConfig

      public void setConfig(String configuration)
      Sets configuration file.
      Parameters:
      configuration - the configuration file, URL, or resource to use
      Throws:
      org.apache.tools.ant.BuildException - when config was already set
    • setExecuteIgnoredModules

      public void setExecuteIgnoredModules(boolean omit)
      Sets flag - whether to execute ignored modules.
      Parameters:
      omit - whether to execute ignored modules
    • setProperties

      public void setProperties(File props)
      Sets a properties file for use instead of individually setting them.
      Parameters:
      props - the properties File to use
    • execute

      public void execute()
      Overrides:
      execute in class org.apache.tools.ant.Task
    • realExecute

      private void realExecute(String checkstyleVersion)
      Helper implementation to perform execution.
      Parameters:
      checkstyleVersion - Checkstyle compile version.
    • processFiles

      private void processFiles(RootModule rootModule, SeverityLevelCounter warningCounter, String checkstyleVersion)
      Scans and processes files by means given root module.
      Parameters:
      rootModule - Root module to process files
      warningCounter - Root Module's counter of warnings
      checkstyleVersion - Checkstyle compile version
      Throws:
      org.apache.tools.ant.BuildException - if the files could not be processed, or if the build failed due to violations.
    • createRootModule

      Creates new instance of the root module.
      Returns:
      new instance of the root module
      Throws:
      org.apache.tools.ant.BuildException - if the root module could not be created.
    • createOverridingProperties

      Create the Properties object based on the arguments specified to the ANT task.
      Returns:
      the properties for property expansion
      Throws:
      org.apache.tools.ant.BuildException - if the properties file could not be loaded.
    • getListeners

      Return the array of listeners set in this task.
      Returns:
      the array of listeners.
      Throws:
      org.apache.tools.ant.BuildException - if the listeners could not be created.
    • getFilesToCheck

      Returns the list of files (full path name) to process.
      Returns:
      the list of files included via the fileName, filesets and paths.
    • scanPaths

      private List<File> scanPaths()
      Retrieves all files from the defined paths.
      Returns:
      a list of files defined via paths.
    • scanPath

      private List<File> scanPath(org.apache.tools.ant.types.Path path, int pathIndex)
      Scans the given path and retrieves all files for the given path.
      Parameters:
      path - A path to scan.
      pathIndex - The index of the given path. Used in log messages only.
      Returns:
      A list of files, extracted from the given path.
    • scanFileSets

      protected List<File> scanFileSets()
      Returns the list of files (full path name) to process.
      Returns:
      the list of files included via the filesets.
    • retrieveAllScannedFiles

      private List<File> retrieveAllScannedFiles(org.apache.tools.ant.DirectoryScanner scanner, int logIndex)
      Retrieves all matched files from the given scanner.
      Parameters:
      scanner - A directory scanner. Note, that DirectoryScanner.scan() must be called before calling this method.
      logIndex - A log entry index. Used only for log messages.
      Returns:
      A list of files, retrieved from the given scanner.