Package: groovy.org.codenarc.analyzer

## [Groovy] Class FilesystemSourceAnalyzer

- groovy.org.codenarc.analyzer.FilesystemSourceAnalyzer

- SourceAnalyzer implementation that recursively processes files from the file system.

  Authors:
    Chris Mair

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `static def` | `DEFAULT_INCLUDES`
    `static def` | `SEP`
    `String` | `baseDirectory` The base (root) directory.
    `String` | `excludes` The ant-style pattern of files to exclude from the analysis.
    `String` | `includes` The ant-style pattern of files to include in the analysis.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `Results` | `analyze(RuleSet ruleSet)` Analyze the source with the configured directory tree(s) using the specified RuleSet and return the report results.
    `` | `List` | `getSourceDirectories()`
    `` | `protected void` | `initializeWildcardPatterns()`
    `` | `protected boolean` | `matches(SourceCode sourceFile)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class AbstractSourceAnalyzer` | `collectViolations`

- - ### Property Detail

    - #### static final def DEFAULT_INCLUDES

    - #### static final def SEP

    - #### String baseDirectory

      The base (root) directory. Must not be null or empty.

    - #### String excludes

      The ant-style pattern of files to exclude from the analysis. If null, exclude no files/directories. This pattern can optionally contain wildcards: '**', '*' and '?'. All file separators within paths are normalized to the standard '/' separator, so use the '/' separator within this pattern where necessary. Example: "**/*.groovy". If both `includes` and `excludes` are specified, then only files/directories that match at least one of the `includes` and none of the `excludes` are analyzed.

    - #### String includes

      The ant-style pattern of files to include in the analysis. Defaults to match all files with names ending with '.groovy'. If null, match all files/directories. This pattern can optionally contain wildcards: '**', '*' and '?'. All file separators within paths are normalized to the standard '/' separator, so use the '/' separator within this pattern where necessary. Example: "**/*.groovy". If both `includes` and `excludes` are specified, then only files/directories that match at least one of the `includes` and none of the `excludes` are analyzed.

  - ### Method Detail

    - #### Results analyze(RuleSet ruleSet)

      Analyze the source with the configured directory tree(s) using the specified RuleSet and return the report results.

      Parameters:
        `ruleset` - - the RuleSet to apply to each of the (applicable) files in the source directories
      Returns:
        the results from applying the RuleSet to all of the files in the source directories

    - #### List getSourceDirectories()

    - #### protected void initializeWildcardPatterns()

    - #### protected boolean matches(SourceCode sourceFile)