NAME

    Test::CheckManifest - Check if your Manifest matches your distro

VERSION

    version 1.4

SYNOPSIS

      use Test::CheckManifest;
      ok_manifest();

 EXPORT

    There is only one method exported: ok_manifest

METHODS

 ok_manifest [{exclude => $arref}][$msg]

    checks whether the Manifest file matches the distro or not. To match a
    distro the Manifest has to name all files that come along with the
    distribution.

    To check the Manifest file, this module searches for a file named
    MANIFEST.

    To exclude some directories from this test, you can specify these dirs
    in the hashref.

      ok_manifest({exclude => ['/var/test/']});

    is ok if the files in /path/to/your/dist/var/test/ are not named in the
    MANIFEST file. That means that the paths in the exclude array must be
    "pseudo-absolute" (absolute to your distribution).

    To use a "filter" you can use the key "filter"

      ok_manifest({filter => [qr/\.svn/]});

    With that you can exclude all files with an '.svn' in the filename or
    in the path from the test.

    These files would be excluded (as examples):

      * /dist/var/.svn/test

      * /dist/lib/test.svn

    You can also combine "filter" and "exclude" with 'and' or 'or' default
    is 'or':

      ok_manifest({exclude => ['/var/test'], 
                   filter  => [qr/\.svn/], 
                   bool    => 'and'});

    These files have to be named in the MANIFEST:

      * /var/foo/.svn/any.file

      * /dist/t/file.svn

      * /var/test/test.txt

    These files not:

      * /var/test/.svn/*

      * /var/test/file.svn

    By default, ok_manifest will look for the file MANIFEST in the current
    working directory (which is how tests are traditionally run). If you
    wish to specify a different directory, you may pass the file or dir
    parameters, for example:

      ok_manifest({dir => '/path/to/my/dist/'});

EXCLUDING FILES

    Beside filter and exclude there is another way to exclude files:
    MANIFEST.SKIP. This is a file with filenames that should be excluded:

      t/my_very_own.t
      file_to.skip

ACKNOWLEDGEMENT

    Great thanks to Christopher H. Laco, who did a lot of testing stuff for
    me and he reported some bugs to RT.

AUTHOR

    Renee Baecker <reneeb@cpan.org>

COPYRIGHT AND LICENSE

    This software is Copyright (c) 2018 by Renee Baecker.

    This is free software, licensed under:

      The Artistic License 2.0 (GPL Compatible)

