diff --git a/docs/pages/pmd/userdocs/cli_reference.md b/docs/pages/pmd/userdocs/cli_reference.md index 1207478930..71146471a5 100644 --- a/docs/pages/pmd/userdocs/cli_reference.md +++ b/docs/pages/pmd/userdocs/cli_reference.md @@ -51,7 +51,10 @@ The tool comes with a rather extensive help text, simply running with `-help`! %} {% include custom/cli_option_row.html options="-cache" option_arg="path" - description="Specifies a location for the analysis cache file to use. + description="Specify the location of the cache file for incremental analysis. + This should be the full path to the file, including the desired file name (not just the parent directory). + If the file doesn't exist, it will be created on the first run. The file will be overwritten on each run + with the most up-to-date rule violations. This can greatly improve analysis performance and is **highly recommended**." %} {% include custom/cli_option_row.html options="-debug,-verbose,-D,-V" diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDParameters.java b/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDParameters.java index b1dd76b2b1..d76cdd29c6 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDParameters.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cli/PMDParameters.java @@ -66,7 +66,7 @@ public class PMDParameters { private boolean showsuppressed = false; @Parameter(names = "-suppressmarker", - description = "Specifies the string that marks the a line which PMD should ignore; default is NOPMD.") + description = "Specifies the string that marks a line which PMD should ignore; default is NOPMD.") private String suppressmarker = "NOPMD"; @Parameter(names = { "-minimumpriority", "-min" }, @@ -99,8 +99,12 @@ public class PMDParameters { @Parameter(names = "-norulesetcompatibility", description = "Disable the ruleset compatibility filter. The filter is active by default and tries automatically 'fix' old ruleset files with old rule names") private boolean noRuleSetCompatibility = false; - - @Parameter(names = "-cache", description = "Specify the location of the cache file for incremental analysis.") + + @Parameter(names = "-cache", arity = 1, + description = "Specify the location of the cache file for incremental analysis. " + + "This should be the full path to the file, including the desired file name (not just the parent directory). " + + "If the file doesn't exist, it will be created on the first run. The file will be overwritten on each run " + + "with the most up-to-date rule violations.") private String cacheLocation = null; @Parameter(names = "-no-cache", description = "Explicitly disable incremental analysis. The '-cache' option is ignored if this switch is present in the command line.")