Class CheckstyleAntTask
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.Task
-
- com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask
-
- All Implemented Interfaces:
java.lang.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 java.lang.String
config
Config file containing configuration.private static java.lang.String
E_PLAIN
Poor man's enum for a plain formatter.private static java.lang.String
E_SARIF
Poor man's enum for a sarif formatter.private static java.lang.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 java.lang.String
failureProperty
Property to set on violations.private java.lang.String
fileName
Name of file to check.private java.util.List<org.apache.tools.ant.types.FileSet>
fileSets
Contains the filesets to process.private java.util.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 java.util.List<CheckstyleAntTask.Property>
overrideProps
Contains the Properties to override.private java.util.List<org.apache.tools.ant.types.Path>
paths
Contains the paths to process.private java.io.File
properties
The name of the properties file.private static java.lang.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 java.util.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 java.util.List<java.io.File>
getFilesToCheck()
Returns the list of files (full path name) to process.private AuditListener[]
getListeners()
Return the list of listeners set in this task.private void
processFiles(RootModule rootModule, SeverityLevelCounter warningCounter, java.lang.String checkstyleVersion)
Scans and processes files by means given root module.private void
realExecute(java.lang.String checkstyleVersion)
Helper implementation to perform execution.private java.util.List<java.io.File>
retrieveAllScannedFiles(org.apache.tools.ant.DirectoryScanner scanner, int logIndex)
Retrieves all matched files from the given scanner.protected java.util.List<java.io.File>
scanFileSets()
Returns the list of files (full path name) to process.private java.util.List<java.io.File>
scanPath(org.apache.tools.ant.types.Path path, int pathIndex)
Scans the given path and retrieves all files for the given path.private java.util.List<java.io.File>
scanPaths()
Retrieves all files from the defined paths.void
setConfig(java.lang.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(java.lang.String propertyName)
Tells this task to write failure message to the named property when there is a violation.void
setFile(java.io.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(java.io.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 java.lang.String E_XML
Poor man's enum for an xml formatter.- See Also:
- Constant Field Values
-
E_PLAIN
private static final java.lang.String E_PLAIN
Poor man's enum for a plain formatter.- See Also:
- Constant Field Values
-
E_SARIF
private static final java.lang.String E_SARIF
Poor man's enum for a sarif formatter.- See Also:
- Constant Field Values
-
TIME_SUFFIX
private static final java.lang.String TIME_SUFFIX
Suffix for time string.- See Also:
- Constant Field Values
-
paths
private final java.util.List<org.apache.tools.ant.types.Path> paths
Contains the paths to process.
-
fileSets
private final java.util.List<org.apache.tools.ant.types.FileSet> fileSets
Contains the filesets to process.
-
formatters
private final java.util.List<CheckstyleAntTask.Formatter> formatters
Contains the formatters to log to.
-
overrideProps
private final java.util.List<CheckstyleAntTask.Property> overrideProps
Contains the Properties to override.
-
fileName
private java.lang.String fileName
Name of file to check.
-
config
private java.lang.String config
Config file containing configuration.
-
failOnViolation
private boolean failOnViolation
Whether to fail build on violations.
-
failureProperty
private java.lang.String failureProperty
Property to set on violations.
-
properties
private java.io.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(java.lang.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(java.io.File file)
Sets file to be checked.- Parameters:
file
- the file to be checked
-
setConfig
public void setConfig(java.lang.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(java.io.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(java.lang.String checkstyleVersion)
Helper implementation to perform execution.- Parameters:
checkstyleVersion
- Checkstyle compile version.
-
processFiles
private void processFiles(RootModule rootModule, SeverityLevelCounter warningCounter, java.lang.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 java.util.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 list of listeners set in this task.- Returns:
- the list of listeners.
- Throws:
org.apache.tools.ant.BuildException
- if the listeners could not be created.
-
getFilesToCheck
private java.util.List<java.io.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 java.util.List<java.io.File> scanPaths()
Retrieves all files from the defined paths.- Returns:
- a list of files defined via paths.
-
scanPath
private java.util.List<java.io.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 java.util.List<java.io.File> scanFileSets()
Returns the list of files (full path name) to process.- Returns:
- the list of files included via the filesets.
-
retrieveAllScannedFiles
private java.util.List<java.io.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.
-
-