NAME

Dist::Zilla::App::Command::regenerate - Write content into your source tree from your release staging

VERSION

version 0.001001

SYNOPSIS

# Have approprite dist.ini
dzil regenerate  # Source tree updated!

DESCRIPTION

Dist::Zilla::App::Command::regenerate provides a regenerate command to Dist::Zilla that allows some simple tooling to update your source tree when you choose to.

This works by producing a new synthetic target like the release target, which happens after the build stage, but does not produce a release.

In conjunction with appropriate plugins performing -Regenerator, This means that:

  • You won't be frustrated with dzil build constantly tweaking your source tree

  • You won't be forced to ship a release just to update the state of some files that are generated by plugins

  • You won't even have to update your source tree ever if you don't want to.

When calling dzil regenerate, a full copy of the distribution is built in a temporary directory like it does when you call dzil test.

Then after dzil regenerate has written your built distribution out to the temporary directory, any plugin's that perform the -Regenerator role are called and told where your source tree is, and where the build tree is, and they are expected to do the required work.

In effect, dzil regenerate is a lot like:

dzil build --not && \
  DO_STUFF_WITH .build/latest/  && \
  MAYBECOPY .build/latest/stuff ./stuff

Where those last 2 lines are done with plugins.

SEE ALSO

  • dzil update

    This command invokes only the dzil build parts of the equation and rely dzil build itself doing your source tree modification.

    A goal of dzil regenerate is to avoid dzil build doing source tree modification.

AUTHOR

Kent Fredric <kentnl@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Kent Fredric <kentfredric@gmail.com>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.