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
CheckstyleAntTask.Formatter
Details about a formatter to be used.static class
CheckstyleAntTask.FormatterType
Poor man enumeration for the formatter types.static class
CheckstyleAntTask.Property
Represents a property that consists of a key and value.
-
Field Summary
Fields Modifier and Type Field Description private String
config
Config file containing configuration.private static String
E_PLAIN
Poor man's enum for a plain formatter.private static String
E_SARIF
Poor man's enum for a sarif formatter.private static String
E_XML
Poor man's enum for an xml formatter.private boolean
executeIgnoredModules
Whether to execute ignored modules - some modules may log above their severity depending on their configuration (e.g.private boolean
failOnViolation
Whether to fail build on violations.private String
failureProperty
Property to set on violations.private String
fileName
Name of file to check.private List<org.apache.tools.ant.types.FileSet>
fileSets
Contains the filesets to process.private List<CheckstyleAntTask.Formatter>
formatters
Contains the formatters to log to.private int
maxErrors
The maximum number of errors that are tolerated.private int
maxWarnings
The maximum number of warnings that are tolerated.private List<CheckstyleAntTask.Property>
overrideProps
Contains the Properties to override.private List<org.apache.tools.ant.types.Path>
paths
Contains the paths to process.private File
properties
The name of the properties file.private static String
TIME_SUFFIX
Suffix for time string.
-
Constructor Summary
Constructors Constructor Description CheckstyleAntTask()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addFileset(org.apache.tools.ant.types.FileSet fileSet)
Adds set of files (nested fileset attribute).void
addFormatter(CheckstyleAntTask.Formatter formatter)
Add a formatter.void
addPath(org.apache.tools.ant.types.Path path)
Adds a path.void
addProperty(CheckstyleAntTask.Property property)
Add an override property.org.apache.tools.ant.types.Path
createClasspath()
Deprecated.left in implementation until #12556 only to allow users to migrate to new gradle plugins.private Properties
createOverridingProperties()
Create the Properties object based on the arguments specified to the ANT task.private RootModule
createRootModule()
Creates new instance of the root module.void
execute()
private List<File>
getFilesToCheck()
Returns the list of files (full path name) to process.private AuditListener[]
getListeners()
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>
scanFileSets()
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>
scanPaths()
Retrieves all files from the defined paths.void
setConfig(String configuration)
Sets configuration file.void
setExecuteIgnoredModules(boolean omit)
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
setProperties(File props)
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
-
-
-
-
Field Detail
-
E_XML
private static final String E_XML
Poor man's enum for an xml formatter.- See Also:
- Constant Field Values
-
E_PLAIN
private static final String E_PLAIN
Poor man's enum for a plain formatter.- See Also:
- Constant Field Values
-
E_SARIF
private static final String E_SARIF
Poor man's enum for a sarif formatter.- See Also:
- Constant Field Values
-
TIME_SUFFIX
private static final String TIME_SUFFIX
Suffix for time string.- See Also:
- Constant Field Values
-
fileSets
private final List<org.apache.tools.ant.types.FileSet> fileSets
Contains the filesets to process.
-
formatters
private final List<CheckstyleAntTask.Formatter> formatters
Contains the formatters to log to.
-
overrideProps
private final List<CheckstyleAntTask.Property> overrideProps
Contains the Properties to override.
-
failOnViolation
private boolean failOnViolation
Whether to fail build on violations.
-
failureProperty
private String failureProperty
Property to set on violations.
-
properties
private File properties
The name of the properties file.
-
maxErrors
private int maxErrors
The maximum number of errors that are tolerated.
-
maxWarnings
private int maxWarnings
The maximum number of warnings that are tolerated.
-
executeIgnoredModules
private boolean executeIgnoredModules
Whether to execute ignored modules - some modules may log above their severity depending on their configuration (e.g. WriteTag) so need to be included
-
-
Constructor Detail
-
CheckstyleAntTask
public CheckstyleAntTask()
-
-
Method Detail
-
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 isInteger.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 classorg.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 fileswarningCounter
- Root Module's counter of warningscheckstyleVersion
- 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
private RootModule 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
private Properties 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
private AuditListener[] 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
private List<File> 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, thatDirectoryScanner.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.
-
-