Karen Etheridge > Dist-Zilla-Plugin-MungeFile-WithConfigFile-0.002 > Dist::Zilla::Plugin::MungeFile::WithConfigFile

Download:
Dist-Zilla-Plugin-MungeFile-WithConfigFile-0.002.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.002   Source  

NAME ^

Dist::Zilla::Plugin::MungeFile::WithConfigFile - Modify files in the build, with templates and config data from a file

VERSION ^

version 0.002

SYNOPSIS ^

In your dist.ini:

    [MungeFile::WithConfigFile]
    file = lib/My/Module.pm
    house = maison
    configfile = data.json

And during the build, lib/My/Module.pm:

    my $some_string = '{{ expensive_build_time_sub($config_data{some_field}) }}';
    my ${{ $house }} = 'my castle';
    __DATA__
    alpha
    beta
    gamma

Is transformed to:

    my $some_string = 'something derived from data in config file';
    my $maison = 'my castle';

DESCRIPTION ^

This is a FileMunger plugin for Dist::Zilla that passes a file(s) through a Text::Template, with a variable provided that contains data read from the provided config file.

Text::Template is used to transform the file by making the $config_data variable available to all code blocks within {{ }} sections.

This data is extracted from the provided configfile using Config::Any, so a variety of file formats are supported, including JSON, YAML and INI.

The Dist::Zilla object (as $dist) and this plugin (as $plugin) are also made available to the template, for extracting other information about the build.

Additionally, any extra keys and values you pass to the plugin are passed along in variables named for each key.

OPTIONS ^

SUPPORT ^

Bugs may be submitted through the RT bug tracker (or bug-Dist-Zilla-Plugin-MungeFile-WithConfigFile@rt.cpan.org). I am also usually active on irc, as 'ether' at irc.perl.org.

SEE ALSO ^

AUTHOR ^

Karen Etheridge <ether@cpan.org>

COPYRIGHT AND LICENSE ^

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

syntax highlighting: