Dist::Zilla::Plugin::GenerateFile::FromShareDir - Create files in the repository or build, using a sharedir template
version 0.015
In your dist.ini:
[GenerateFile::FromShareDir] -dist = Dist::Zilla::PluginBundle::Author::ME -source_filename = my_data_template.txt -destination_filename = examples/my_data.txt key1 = value to pass to template key2 = another value to pass to template
Generates a file in your distribution, indicated by -destination_file, based on the Text::Template located in the -source_file of -dist's distribution sharedir. Any extra config values are passed along to the template, in addition to $zilla and $plugin objects.
-destination_file
-source_file
-dist
$zilla
$plugin
I expect that usually the -dist that contains the template will be either a plugin bundle, so you can generate a custom-tailored file in your distribution, or a plugin that subclasses this one. (Otherwise, you can just as easily use [GatherDir::Template] or [GenerateFile] to generate the file directly, without needing a sharedir.)
All unrecognized keys/values will be passed to the template as is. Recognized options are:
The distribution name to use when finding the sharedir (see File::ShareDir and Dist::Zilla::Plugin::ShareDir). Defaults to the distribution corresponding to the running plugin.
-destination_filename
-filename
The filename to generate in the distribution being built. Required.
-source_filename
The filename in the sharedir to use to generate the new file. Defaults to the same filename and path as -destination_file.
-encoding
The encoding of the source file; will also be used for the encoding of the destination file. Defaults to UTF-8.
-location
default: build
build
The target location of the generated file. When build, the file is added to the distribution in the normal file gathering phase. When root, the file is instead written to the source repository.
root
-phase
Only relevant when -location = root. When build (the default), the file is written on every build operation. When release, it is only written after the distribution is released.
-location = root
release
File::ShareDir
Dist::Zilla::Plugin::ShareDir
Text::Template
[GatherDir::Template] - gather a file from the dist, and then pass it through a template
[GenerateFile] - generate a (possibly-templated) file purely based on data in dist.ini
Bugs may be submitted through the RT bug tracker (or bug-Dist-Zilla-Plugin-GenerateFile-FromShareDir@rt.cpan.org).
There is also a mailing list available for users of this distribution, at http://dzil.org/#mailing-list.
There is also an irc channel available for users of this distribution, at #distzilla on irc.perl.org.
#distzilla
irc.perl.org
I am also usually active on irc, as 'ether' at irc.perl.org and irc.freenode.org.
irc.freenode.org
Karen Etheridge <ether@cpan.org>
Dave Rolsky <autarch@urth.org>
Kent Fredric <kentfredric@gmail.com>
This software is copyright (c) 2013 by Karen Etheridge.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Dist::Zilla::Plugin::GenerateFile::FromShareDir, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::Plugin::GenerateFile::FromShareDir
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::Plugin::GenerateFile::FromShareDir
For more information on module installation, please visit the detailed CPAN module installation guide.