Scroll to navigation

Dist::Zilla::Plugin::GenerateFile(3pm) User Contributed Perl Documentation Dist::Zilla::Plugin::GenerateFile(3pm)

NAME

Dist::Zilla::Plugin::GenerateFile - build a custom file from only the plugin configuration

VERSION

version 6.030

SYNOPSIS

In your dist.ini:

  [GenerateFile]
  filename    = todo/{{ $dist->name }}-master-plan.txt
  name_is_template = 1
  content_is_template = 1
  content = # Outlines the plan for world domination by {{$dist->name}}
  content =
  content = Item 1: Think of an idea!
  content = Item 2: ?
  content = Item 3: Profit!

DESCRIPTION

This plugin adds a file to the distribution.

You can specify the content, as a sequence of lines, in your configuration. The specified filename and content might be literals or might be Text::Template templates.

Templating of the content

If you provide "content_is_template" (or "is_template") parameter of "1", the content will be run through Text::Template. The variables $plugin and $dist will be provided, set to the [GenerateFile] plugin and the Dist::Zilla object respectively.

If you provide a "name_is_template" parameter of "1", the filename will be run through Text::Template. The variables $plugin and $dist will be provided, set to the [GenerateFile] plugin and the Dist::Zilla object respectively.

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.)

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.

ATTRIBUTES

filename

This attribute names the file you want to generate. It is required.

content

The "content" attribute is an arrayref of lines that will be joined together with newlines to form the file content.

content_is_template, is_template

This attribute is a bool indicating whether or not the content should be treated as a Text::Template template. By default, it is false.

name_is_template

This attribute is a bool indicating whether or not the filename should be treated as a Text::Template template. By default, it is false.

AUTHOR

Ricardo SIGNES 😏 <cpan@semiotic.systems>

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 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.

2023-01-19 perl v5.36.0