# from Nicholas Clark
# on Monday 07 September 2009 08:39:

>Is getting M::B bundling working anyone's itch?

Bundling "works" in that the inc/latest.pm scheme works.

Bundling "can be done" if you run the bundle.pl script from the dist and 
change your Build.PL to look in inc and use the latest.pm.

What is missing?  I don't think we want "bundle it without me knowing". 
Maybe just need "bundle it without me having an M::B tarball at hand"?

I guess the main blockage is that latest.pm has a namespace collision 
with AndyA's more recent cpan dist.  And there needs to be an 
installed .pm to make it DWIM via e.g. just changing your Build.PL to 
have:

  use inc::latest 'Module::Build';

But then the inc/latest.pm in your @INC needs to defer to the one 
in './' (where '.' is *assumed* to be at the end of @INC.)  And then 
you also have to deal with whatever interaction might happen between an 
installed inc/latest.pm and the bundled ./inc/latest.pm -- which I 
think has bitten me with Module::Install at least a few times.

And, I suppose bundling from an installed Module::Build requires reading 
some packlists.  Plus, ensuring that your bundled code is replaced with 
the latest installed version before './Build dist'.

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?

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.

--Eric
-- 
To a database person, every nail looks like a thumb.
--Jamie Zawinski
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to