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