Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kentnl/dist-zilla-app-command-regenerate

Write content into your source tree from your release staging
https://github.com/kentnl/dist-zilla-app-command-regenerate

dist-zilla perl

Last synced: 4 days ago
JSON representation

Write content into your source tree from your release staging

Awesome Lists containing this project

README

        

# NAME

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

# VERSION

version 0.001002

# 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`](https://metacpan.org/pod/Dist::Zilla::Role::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`](https://metacpan.org/pod/Dist::Zilla::App::Command::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

# COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Kent Fredric .

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