NAME

Dist::Zilla::App::Command::self - Build a distribution with a bootstrapped version of itself.

VERSION

version 0.001003

SYNOPSIS

This is a different approach to using [Bootstrap::lib] that absolves a distribution from needing to forcibly embed bootstrapping logic in dist.ini

dzil self build

This is largely similar to using

[Bootstrap::lib]
try_built = 1

and doing

dzil build && dzil build

And similar again to:

dzil run bash -c "cd ../; dzil -I$BUILDDIR/lib dzil build"

Or whatever the magic is that @ETHER uses.

This also means that:

dzil self release

Is something you can do.

CAVEATS

The nature of this implies that your distribution will probably need an older generation of itself for the initial bootstrap.

That is to say:

dzil build

Must work, and use Generation.Previous to build Generation.Build

dzil self foo

Will call dzil build for you, to build Generation.Build, and then invoke

dzil foo

To use Generation.Build to build Generation.Next

1. Generation.Previous

A previously installed incarnation of your dist.

2. Generation.Build

The iteration of building the distribution itself from source using Generation.Previous

3. Generation.Next

The iteration of building the distribution itself from source using Generation.Build

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.