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::Manifest::Skip - MANIFEST.SKIP Manangement for Modules

Author

       Ingy döt Net <ingy@cpan.org>

Behavior

       This module ships with a share file called "share/MANIFEST.SKIP". This is the basis for all new
       MANIFEST.SKIP files. This module will look for an already existing "MANIFEST.SKIP" file and take all the
       text before the first blank line, and prepend it to the start of a new SKIP file. This allows you to put
       your own personal section at the top, that will not be overwritten later.

       It will then look for lines beginning with a dash followed by a space.  Like this:

             - \bfoo\b
             - ^bar/
             - ^baz$

       It will comment out each of these lines and any other lines that match the text (after the '- '). This
       allows you to override the default SKIPs.

Description

NOTE: This module is mostly intended for module packaging frameworks to share a common, up-to-date
       "MANIFEST.SKIP" base. For example, Module::Install::ManifestSkip, uses this module to get the actual SKIP
       content. However this module may be useful for any module author.

       CPAN module authors use a "MANIFEST.SKIP" file to exclude certain well known files from getting put into
       a generated "MANIFEST" file, which would cause them to go into the final distribution package.

       The packaging tools try to automatically skip things for you, but if you add one of your own entries, you
       have to add all the common ones yourself.  This module attempts to make all of this boring process as
       simple and reliable as possible.

       Module::Manifest::Skip can create or update a MANIFEST.SKIP file for you. You can add your own entries,
       and it will leave them alone. You can even tell it to not skip certain entries that it normally skips,
       although this is rarely needed.

Name

       Module::Manifest::Skip - MANIFEST.SKIP Manangement for Modules

Synopsis

       From the command line:

           > perl -MModule::Manifest::Skip=create

       From Perl:

           use Module::Manifest::Skip;
           use IO::All;

           my $mms = Module::Manifest::Skip->new;
           # optional add and removes:
           $mms->add('^foo-bar$');
           $mms->remove('^foo$');
           $mms->remove(qr/\Q\bfoo\b/);
           io('MANIFEST.SKIP')->print($mms->text);

Usage

       Usually this module is called by other packaging modules. If you want this to be used by Module::Install,
       then you would put this:

           manifest_skip 'clean';

       in your "Makefile.PL", and everything would be taken care of for you.

       If you want to simply create a "MANIFEST.SKIP" file from the command line, this handy syntax exists:

           > perl -MModule::Manifest::Skip=create

See Also