http://www.perlmonks.org?node_id=903921


in reply to Re: Why I hate Dist::Zilla
in thread Why I hate Dist::Zilla

For relatively simple stuff, I found that simply copying any existing distribution works well, no matter whether it uses ExtUtils::MakeMaker or Module::Install, or even Module::Build (or a newcomer, Module::Build::Tiny). Just download and unpack any such distribution, and edit the Makefile.PL (or Build.PL) to match your distribution. I found all of them to be quite obvious in the sense that I just had to search and replace the existing distribution name (or distribution path) with my distribution name.

There are some files you might want to wipe from an existing distribution download:

META.yml MANIFEST

MANIFEST should then be recreated by make manifest. META.yml will be recreated when building your new distribution.

Personally, I found that Module::Release streamlined the rest of the release process very much for me:

  1. Check that the module is up to date in version control
  2. Check that all tests pass (make test successfull)
  3. Check that all tests pass when redistributed (make disttest successfull)
  4. Upload to CPAN
  5. Tag version control with the release number
  6. Push tags to github

Theoretically, Dist::Zilla also can do these things, but the cost/benefit ratio over my existing solution is too small for me to consider changing.