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 a ANT task for calling checkstyle. See the documentation of the task for usage.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCheckstyleAntTask.FormatterDetails about a formatter to be used.static classCheckstyleAntTask.FormatterTypePoor mans enumeration for the formatter types.static classCheckstyleAntTask.PropertyRepresents a property that consists of a key and value.
-
Field Summary
Fields Modifier and Type Field Description private org.apache.tools.ant.types.PathclasspathClass path to locate class files.private java.lang.StringconfigConfig file containing configuration.private static java.lang.StringE_PLAINPoor man's enum for an plain formatter.private static java.lang.StringE_XMLPoor man's enum for an xml formatter.private booleanexecuteIgnoredModulesWhether to execute ignored modules - some modules may log above their severity depending on their configuration (e.g.private booleanfailOnViolationWhether to fail build on violations.private java.lang.StringfailurePropertyProperty to set on violations.private java.lang.StringfileNameName of file to check.private java.util.List<org.apache.tools.ant.types.FileSet>fileSetsContains the filesets to process.private java.util.List<CheckstyleAntTask.Formatter>formattersContains the formatters to log to.private intmaxErrorsThe maximum number of errors that are tolerated.private intmaxWarningsThe maximum number of warnings that are tolerated.private java.util.List<CheckstyleAntTask.Property>overridePropsContains the Properties to override.private java.util.List<org.apache.tools.ant.types.Path>pathsContains the paths to process.private java.io.FilepropertiesThe name of the properties file.private static java.lang.StringTIME_SUFFIXSuffix for time string.
-
Constructor Summary
Constructors Constructor Description CheckstyleAntTask()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFileset(org.apache.tools.ant.types.FileSet fileSet)Adds set of files (nested fileset attribute).voidaddFormatter(CheckstyleAntTask.Formatter formatter)Add a formatter.voidaddPath(org.apache.tools.ant.types.Path path)Adds a path.voidaddProperty(CheckstyleAntTask.Property property)Add an override property.org.apache.tools.ant.types.PathcreateClasspath()Creates classpath.private java.util.PropertiescreateOverridingProperties()Create the Properties object based on the arguments specified to the ANT task.private RootModulecreateRootModule()Creates new instance of the root module.voidexecute()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 voidprocessFiles(RootModule rootModule, SeverityLevelCounter warningCounter, java.lang.String checkstyleVersion)Scans and processes files by means given root module.private voidrealExecute(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.voidsetClasspath(org.apache.tools.ant.types.Path classpath)Set the class path.voidsetClasspathRef(org.apache.tools.ant.types.Reference classpathRef)Set the class path from a reference defined elsewhere.voidsetConfig(java.lang.String configuration)Sets configuration file.voidsetExecuteIgnoredModules(boolean omit)Sets flag - whether to execute ignored modules.voidsetFailOnViolation(boolean fail)Sets flag - whether to fail if a violation is found.voidsetFailureProperty(java.lang.String propertyName)Tells this task to write failure message to the named property when there is a violation.voidsetFile(java.io.File file)Sets file to be checked.voidsetMaxErrors(int maxErrors)Sets the maximum number of errors allowed.voidsetMaxWarnings(int maxWarnings)Sets the maximum number of warnings allowed.voidsetProperties(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 an plain 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.
-
classpath
private org.apache.tools.ant.types.Path classpath
Class path to locate class files.
-
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 an 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
-
setClasspath
public void setClasspath(org.apache.tools.ant.types.Path classpath)
Set the class path.- Parameters:
classpath- the path to locate classes
-
setClasspathRef
public void setClasspathRef(org.apache.tools.ant.types.Reference classpathRef)
Set the class path from a reference defined elsewhere.- Parameters:
classpathRef- the reference to an instance defining the classpath
-
createClasspath
public org.apache.tools.ant.types.Path createClasspath()
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:
executein 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 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.
-
-