Dist::Zilla::Plugin::GenerateFile(3)

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

VERSION
version 6.037

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