logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Module::Install::Bundle - Bundle distributions along with your distribution

Authors

       Audrey Tang <autrijus@autrijus.org>

       Documentation by Adam Foxson <afoxson@pobox.com>

Bugs

       Please report any bugs to (patches welcome):

           http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Module-Install

Description

       Module::Install::Bundle allows you to bundle a CPAN distribution within your distribution. When your end-
       users install your distribution, the bundled distribution will be installed along with yours, unless a
       newer version of the bundled distribution already exists on their local filesystem.

       While bundling will increase the size of your distribution, it has several benefits:

         Allows installation of bundled distributions when CPAN is unavailable
         Allows installation of bundled distributions when networking is unavailable
         Allows everything your distribution needs to be packaged in one place

       Bundling differs from auto-installation in that when it comes time to install, a bundled distribution
       will be installed based on the distribution bundled with your distribution, whereas with auto-
       installation the distribution to be installed will be acquired from CPAN and then installed.

Methods

auto_bundle()

           Takes  no arguments, will bundle every distribution specified by a requires().  When you, as a module
           author, do a "perl Makefile.PL" the latest versions of  the  distributions  to  be  bundled  will  be
           acquired from CPAN and placed in inc/BUNDLES/.

       •   bundle($name, $version)

           Takes  a  list  of  key/value pairs specifying a distribution name and version number. When you, as a
           module author, do a perl Makefile.PL the distributions that  you  specified  with  bundle()  will  be
           acquired from CPAN and placed in inc/BUNDLES/.

       •   bundle_deps($name, $version)

           Same  as "bundle", except that all dependencies of the bundled modules are also detected and bundled.
           To use this function, you need to declare the minimum supported perl version first, like this:

               perl_version( '5.005' );

       •   auto_bundle_deps

           Same as "auto_bundle", except that all dependencies of the bundled  modules  are  also  detected  and
           bundled. This function has the same constraints as bundle_deps.

Name

       Module::Install::Bundle - Bundle distributions along with your distribution

Synopsis

       Have your Makefile.PL read as follows:

         use inc::Module::Install;

         name      'Foo-Bar';
         all_from  'lib/Foo/Bar.pm';
         requires  'Baz' => '1.60';

         # one of either:
         bundle    'Baz' => '1.60';
         # OR:
         auto_bundle;

         WriteAll;

See Also