On Sun, Dec 5, 2010 at 1:56 AM, Octavian Rasnita <orasn...@gmail.com> wrote:
> Ok, so using Module::Starter with Module::Install would be a good choice 
> because Module::Starter also creates some simple test files and they may be a 
> big part of the tests for very simple modules.
>
> Do you know if there is a way to do the same thing with Dist::Zilla?
> Dist::Zilla is great, but it doesn't create those simple test files. Is there 
> a plugin for it that can do this?

Absolutely.  There are lots of plugins for various default tests.  See
any of the Dist::Zilla::PluginBundle::NAME distributions on CPAN for
examples.  Mine is fairly well documented as to what it includes:
http://p3rl.org/Dist::Zilla::PluginBundle::DAGOLDEN

Also, here's a great article explaining pieces of a dist.ini bit by bit:
    http://blog.urth.org/2010/06/walking-through-a-real-distini.html

The Module::Starter equivalents are D::Z::Plugin::CompileTests and
PodSyntaxTests and PodCoverageTests.  Note that the latter two put
things in the "xt/" directory so you will also want either
"ExtraTests" (which copies xt/* to t/*) or "CheckExtraTests" (which
just tests xt before release).  I favor (and wrote) the latter.

Dist::Zilla plugins are part of the learning curve, but the advantage
is that they are so modular that it's easy to assemble a set that does
what you like (e.g. ExtraTests vs CheckExtraTests.  My advice is to
browse some PluginBundles and get a sense for what it can do for you.

> As a conclusion, for the moment my prefered way would be to use 
> Module-Starter with M::I for simple apps and Dist::Zilla with its default 
> EU::MM for more complex apps.

Once you've gotten familiar with Dist::Zilla, you'll probably start
using it for simple stuff, too.  See
http://github.com/dagolden/version-next for example -- it's one .pm
file, one test file, a dist.ini file, a Changes file and a .gitignore
file.

But if you don't want the Dist::Zilla learning curve to slow down a
release you really want to ship quickly, Module::Starter and M::I will
work just fine.

-- David

Reply via email to