NAME
Dist::Zilla::Plugin::GatherDir - gather all the files in a directory
VERSION
version 5.021
DESCRIPTION
This is a very, very simple FileGatherer plugin. It looks in the directory named in the "root" attribute and adds all the files it finds there. If the root begins with a tilde, the tilde is replaced with the current user's home directory according to File::HomeDir.
Almost every dist will be built with one GatherDir plugin, since it's the easiest way to get files from disk into your dist. Most users just need:
[GatherDir]
...and this will pick up all the files from the current directory into the dist. You can use it multiple times, as you can any other plugin, by providing a plugin name. For example, if you want to include external specification files into a subdir of your dist, you might write:
[GatherDir]
; this plugin needs no config and gathers most of your files
[GatherDir / SpecFiles]
; this plugin gets all the files in the root dir and adds them under ./spec
root = ~/projects/my-project/spec
prefix = spec
ATTRIBUTES
root
This is the directory in which to look for files. If not given, it defaults to the dist root -- generally, the place where your dist.ini or other configuration file is located.
prefix
This parameter can be set to place the gathered files under a particular directory. See the description above for an example.
include_dotfiles
By default, files will not be included if they begin with a dot. This goes both for files and for directories relative to the root
.
In almost all cases, the default value (false) is correct.
follow_symlinks
By default, directories that are symlinks will not be followed. Note on the other hand that in all followed directories, files which are symlinks are always gathered.
exclude_filename
To exclude certain files from being gathered, use the exclude_filename
option. The filename is matched exactly, relative to root
. This may be used multiple times to specify multiple files to exclude.
exclude_match
This is just like exclude_filename
but provides a regular expression pattern. Filenames matching the pattern (relative to root
) are not gathered. This may be used multiple times to specify multiple patterns to exclude.
prune_directory
While traversing, any directory matching the regular expression pattern will not be traversed further. This may be used multiple times to specify multiple directories to skip.
AUTHOR
Ricardo SIGNES <rjbs@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.