NAME

generate_wrap_config.pl - generate input for OpenTracing::WrapScope

SYNOPSIS

generate_wrap_config.pl --out wrapscope.conf --file 'lib/*.pm'
generate_wrap_config.pl --file 'bin/*.pl' --filter complexity=5

OPTIONS

--file $file_pattern

Shell file pattern for files to include in the search. Can be specified multiple times.

--ignore $file_pattern

Shell file pattern for files to ignore. Can be specified multiple times.

--include $subroutine

A subroutine name to unconditionally include in the results. Overrides all other settings. Can be specified multiple times.

--exclude $subroutine

A subroutine name to remove from the results. Can be specified multiple times.

--filter $filter_name[=$filter_argument]

A filter to apply. Currently supported filters:

  • exclude_private

    Removes all subroutines starting with an underscore.

  • complexity=INT

    Narrows down the results to subroutines with a cyclomatic complexity score greater than or equal than the argument. The argument is required.

Can be specified multiple times.

--out $filename

The filename where the resulting config file should be written. If this argument is not specified, results will be printed to standard output.

--spec $filename

The filename of a YAML file which contains options for this program in hash form. The keys correspond directly to options, most options can be specified multiple times and their values should be arrays in the YAML file.

For example, given this file:

wrapscope_gen_config.yaml

file: [ 'bin/*.pl', 'lib/*.pm' ]
filter: [ 'exclude_private' ]
ignore: [ 'Private*' ]
out: wrapscope_config.txt

calling:

generate_wrap_config.pl --spec wrapscope_gen_config.yaml

is equivalent to:

generate_wrap_config.pl \
  --file 'bin/*.pl' \
  --file 'lib/*.pm' \
  --filter exclude_private \
  --out wrapscope_config.txt \
  --ignore 'Private*'

if other options are specified alongside a spec file, they will be merged.

--help

Show this help.