.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.48) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "Dist::Zilla::Plugin::GatherDir 3" .TH Dist::Zilla::Plugin::GatherDir 3 2026-09-27 "perl v5.44.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Dist::Zilla::Plugin::GatherDir \- gather all the files in a directory .SH VERSION .IX Header "VERSION" version 6.040 .SH DESCRIPTION .IX Header "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 passed through \f(CWglob()\fR first. .PP Almost every dist will be built with one GatherDir plugin, since it\*(Aqs the easiest way to get files from disk into your dist. Most users just need: .PP .Vb 2 \& [GatherDir] \& [PruneCruft] .Ve .PP \&...and this will pick up all the files from the current directory into the dist. (PruneCruft is needed, here, to drop files that might present as build artifacts, but should not be shipped.) 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: .PP .Vb 2 \& [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 .Ve .SH "PERL VERSION" .IX Header "PERL VERSION" This module should work on any version of perl still receiving updates from the Perl 5 Porters. This means it should work on any version of perl released in the last two to three years. (That is, if the most recently released version is v5.40, then this module should work on both v5.40 and v5.38.) .PP Although it may work on older versions of perl, no guarantee is made that the minimum required version will not be increased. The version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl. .SH ATTRIBUTES .IX Header "ATTRIBUTES" .SS root .IX Subsection "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 \fIdist.ini\fR or other configuration file is located. It may begin with \f(CW\*(C`~\*(C'\fR (or \f(CW\*(C`~user\*(C'\fR) to mean your (or some other user\*(Aqs) home directory. If a relative path, it is relative to the dist root. .SS prefix .IX Subsection "prefix" This parameter can be set to place the gathered files under a particular directory. See the description above for an example. .SS include_dotfiles .IX Subsection "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 \f(CW\*(C`root\*(C'\fR. .PP In almost all cases, the default value (false) is correct. .SS follow_symlinks .IX Subsection "follow_symlinks" By default, symlinks pointing to directories will not be followed; set \&\f(CW\*(C`follow_symlinks = 1\*(C'\fR to traverse these links as if they were normal directories. .PP In all followed directories, files which are symlinks are \fBalways\fR gathered, with the link turning into a normal file. .SS exclude_filename .IX Subsection "exclude_filename" To exclude certain files from being gathered, use the \f(CW\*(C`exclude_filename\*(C'\fR option. The filename is matched exactly, relative to \f(CW\*(C`root\*(C'\fR. This may be used multiple times to specify multiple files to exclude. .SS exclude_match .IX Subsection "exclude_match" This is just like \f(CW\*(C`exclude_filename\*(C'\fR but provides a regular expression pattern. Filenames matching the pattern (relative to \f(CW\*(C`root\*(C'\fR) are not gathered. This may be used multiple times to specify multiple patterns to exclude. .SS prune_directory .IX Subsection "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. .SH AUTHOR .IX Header "AUTHOR" Ricardo SIGNES 😏 .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2026 by Ricardo SIGNES. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.