History shows again and again how foolish to build distributions by hand -- Dist::Zilla!

(Someone had to use the title, so I thought it might as well be me.)

Dist::Zilla has become my tool of choice when building Perl distributions. But let me let you in on a little secret - It's made of modules. It's made of modules. (And once again) it's made of modules. That is, it's made of modules that are Dist::Zilla plugins.

That is what took me so long to even properly try Dist::Zilla -- pretty much, all of the functionality is in the Dist::Zilla plugins rather than Dist::Zilla itself. Once you wrap your head around that idea, Dist::Zilla makes perfect sense.

Dist::Zilla is Git-friendly, to the point where you can drive the selection of files to distribute using Dist::Zilla::Plugin::Git::GatherDir to select only the files you have entered into your Git repository. (Which explains why your new, untracked files don't show up in your trial distro :(.) (There are Subversion and Mercurial plugins for Dist::Zilla too.)

So far, my one caveat is that it may take a while to install Dist::Zilla on a fresh Perl installation, as it depends on a number of CPAN modules. (But at least they are out there, ready to use.)

If you want to automate creating your distributions, Dist::Zilla is at least worth a look.

Leave a comment

About Mark Leighton Fisher

user-pic Perl/CPAN user since 1992.