In order to set a default implementation of a repeating step which loops over all matching files, yet still allow child configs to change the behavior without overriding the step definition, I'd like to see the "Files and Directories matching specified patterns" built-in repeat parameter value expanded to have separate fields for include and exclude patterns, and for both those fields to be scriptable (so child configs override the default variable value instead of the step itself). The reason for separate include and exclude fields is that it's more intuitive to maintainers of the child configs what to override to keep the default inclusions but override the exclusions or vice-versa. With a single field it's unintuitive what expression and default variable values should be to allow overriding one but not the other. For example does QB handle having a file pattern expression that ends in a comma (if the default expression is '${vars.getValue("includes")},${vars.getValue("excludes")}' and the excludes variable has no value)? With two separate fields it's quite clear .
Description
In order to set a default implementation of a repeating step which loops over all matching files, yet still allow child configs to change the behavior without overriding the step definition, I'd like to see the "Files and Directories matching specified patterns" built-in repeat parameter value expanded to have separate fields for include and exclude patterns, and for both those fields to be scriptable (so child configs override the default variable value instead of the step itself). The reason for separate include and exclude fields is that it's more intuitive to maintainers of the child configs what to override to keep the default inclusions but override the exclusions or vice-versa. With a single field it's unintuitive what expression and default variable values should be to allow overriding one but not the other. For example does QB handle having a file pattern expression that ends in a comma (if the default expression is '${vars.getValue("includes")},${vars.getValue("excludes")}' and the excludes variable has no value)? With two separate fields it's quite clear .
QB-2552has resolved the scriptable part of this request.