[More thoughts later -- this is just snap reactions]

> There's also an issue of getting any extras (e.g. EU::CBuilder) into the
> bundle -- or do those just get treated as build_requires?

The only thing that needs to be bundled in inc/ are configure_requires
modules.  Anything build_requires can be handled by CPAN(PLUS) or
"Build installdeps" after configuration.

> It seems like a better idea to have an external tool do the bundling
> (ala contrib/bundle.pl), and maybe attempting to modify your Build.PL.
>
> Or, just go with the slightly wordier Build.PL bit:
>
>  use lib 'inc';
>  use latest 'Module::Build';
>
> ... and have ACTION_dist() do the bundling if it can see latest->VERSION
> or something like that.

I think I'd like to avoid needing a separate tool and having it happen
during ACTION_dist. Or, probably, a new "Build bundle_inc" action that
ACTION_dist can depend on if configured to do so.

M::I installs an "inc::Module::Install" into the normal @INC libraries
that allows bootstrapping the inc/ directory.  It might be worth
exploring that kind of approach.  E.g.

    use inc::Module::Build::Bundled;

Where that would be a subclass of M::B that sets up the necessary inc/
manipulations.

-- David

Reply via email to