[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