I've been using MB for a couple years now, but I've always wanted more
power when creating a distribution.  I did some of that with
Module::Build::DistVersion, but I'm not really satisfied.

When I saw the Dist::Zilla talk at YAPC, I thought it was a good idea.
As an install tool, MB must have minimal requirements.  Since it only
creates distributions, Dist::Zilla can have much steeper requirements,
which gives it a lot more power.

But as it's currently implemented, DZ really wants to generate your
Makefile.PL/Build.PL for you.  That works fine for modules with trivial
installation, but not so well when you need a more complex Build.PL.

You can maintain your own Build.PL and still use DZ, but you'd have to
duplicate a lot of information between Build.PL and DZ's config.

I want to give DZ the ability to read the information it wants out of my
Build.PL.  (Things like distribution name, abstract, prereqs, etc.)  The
question is how to extract that information.

Options I've thought of:

1. Parse Build.PL directly.  Seems like a recipe for disaster.

2. Read the files in the _build directory.  Possible but fragile.

3. Reconstruct the MB object.  Tempting, but as brian d foy found, it's
not as simple as just calling Module::Build->resume.

4. Run "./Build distmeta" then read META.yml.  I think all the
information I need is in META.yml, although it's possible I'll discover
otherwise when I actually implement this.  This has the nice side-effect
of creating a passthrough Makefile.PL (if configured in Build.PL).

It looks like option 4 is my best bet, but I thought I'd ask for
suggestions first.

-- 
Chris Madsen                                          p...@cjmweb.net
  --------------------  http://www.cjmweb.net  --------------------

Reply via email to