#   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
#   file: lib/Dist/Zilla/Plugin/Manifes/Write/ReadMe.pod
#

#pod =pod
#pod
#pod =encoding UTF-8
#pod
#pod =head1 COPYRIGHT AND LICENSE
#pod
#pod Copyright © 2015 Van de Bugger
#pod
#pod This file is part of perl-Dist-Zilla-Plugin-Manifest-Write.
#pod
#pod perl-Dist-Zilla-Plugin-Manifest-Write is free software: you can redistribute it and/or modify
#pod it under the terms of the GNU General Public License as published by the Free Software
#pod Foundation, either version 3 of the License, or (at your option) any later version.
#pod
#pod perl-Dist-Zilla-Plugin-Manifest-Write is distributed in the hope that it will be useful, but
#pod WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
#pod PARTICULAR PURPOSE. See the GNU General Public License for more details.
#pod
#pod You should have received a copy of the GNU General Public License along with
#pod perl-Dist-Zilla-Plugin-Manifest-Write. If not, see <http://www.gnu.org/licenses/>.
#pod
#pod =cut

# PODNAME: Dist::Zilla::Plugin::Manifest::Write::ReadMe
# ABSTRACT: C<Manifest::Write> plugin readme

#pod =for :this This is C<Manifest::Write> readme. It covers general topics like getting source,
#pod building, installing, bug reporting and some others.
#pod
#pod =for :that If you want to have annotated MANIFEST in your distribution, read the L<manual|Dist::Zilla::Plugin::Manifest::Write::Manual>. If you
#pod are going to hack or extend C<Dist-Zilla-Plugin-Manifest-Write>, read the L<module documentation|Dist::Zilla::Plugin::Manifest::Write>.
#pod
#pod =head1 SEE ALSO
#pod
#pod =for :list
#pod = L<Dist::Zilla>
#pod = L<Dist::Zilla::Plugin::Manifest>
#pod
#pod =cut

# doc/what.pod #

#pod =encoding UTF-8
#pod
#pod =head1 WHAT?
#pod
#pod C<Manifest::Write> is a plugin for C<Dist::Zilla>, a replacement for standard plugin C<Manifest>.
#pod C<Manifest::Write> writes annotated F<MANIFEST>: each filename is followed by a comment, explaining
#pod origin of the file, whether it is part of software, meta information, or 3rd party file.
#pod
#pod =cut

# end of file #
# doc/why.pod #

#pod =encoding UTF-8
#pod
#pod =head1 WHY?
#pod
#pod F<MANIFEST> is a metainfo file, a part of every distribution. It is a plain list of files included
#pod into the distribution. Typical F<MANIFEST> looks like:
#pod
#pod     Build.PL
#pod     COPYING
#pod     Changes
#pod     MANIFEST
#pod     META.yml
#pod     README
#pod     lib/Foo.pm
#pod     t/00-compile.t
#pod     xt/author/eol.t
#pod     xt/author/no-tabs.t
#pod
#pod Format of manifest allows comments, but comments are rarely used.
#pod
#pod As it noted before, manifest is a plain list of files. However, files included into a distribution
#pod differ:
#pod
#pod =over
#pod
#pod =item 1.
#pod
#pod Some files are created by software author (in the example above, F<lib/Assa.pm> I<could> be such
#pod file). Some of these files may be processed by various filters (like C<PodWeaver>).
#pod
#pod =item 2.
#pod
#pod Some files contain distribution metainformation (F<META.yml> and F<MANIFEST> itself).
#pod
#pod =item 3.
#pod
#pod Some files may be generated by a tool from third party templates (C<Dist-Zilla> and its plugins can
#pod generate a lot of various files, in the example above all the tests I<could> be generated, as well
#pod as F<Build.PL>, F<COPYING>, and even F<Changes>).
#pod
#pod =back
#pod
#pod Sometimes you may want (or have) to trace an origin of a file: whether this file created by author
#pod or automatically added, if the file was processed or added as-is. With a typical manifest you have
#pod to I<guess> origin of each file, because distribution build tool, C<Dist-Zilla>, throws this
#pod information away. C<Manifest::Write> saves this information in comments, e. g.:
#pod
#pod     Build.PL            # 3rd party file added by ModuleBuildTiny
#pod     COPYING             #       Foo file added by GatherFromManifest
#pod     Changes             #       Foo file added by GatherFromManifest
#pod     MANIFEST            #  metainfo file built by Manifest::Write
#pod     META.yml            #  metainfo file built by MetaYAML
#pod     README              #       Foo file added by GatherFromManifest
#pod     lib/Foo.pm          #       Foo file added by GatherFromManifest and modified by PkgVersion
#pod     t/00-compile.t      # 3rd party file added by Test::Compile
#pod     xt/author/eol.t     # 3rd party file added by Test::EOL
#pod     xt/author/no-tabs.t # 3rd party file added by Test::NoTabs
#pod
#pod (In the example above "Foo" is name of manifested distribution.)
#pod
#pod With such annotated manifest there is no need to I<guess>, you just I<know>.
#pod
#pod =cut

# end of file #
# doc/generic/naming.pod #

#pod =encoding UTF-8
#pod
#pod =head1 NAMING
#pod
#pod C<perl-Dist-Zilla-Plugin-Manifest-Write> is official software name.
#pod
#pod However, in Perl world prefix "perl-" is redundant and not used. For example, on
#pod L<meta::cpan|https://metacpan.org/> this software is named as C<Dist-Zilla-Plugin-Manifest-Write>. In the rest of the
#pod documentation shortened name C<Dist-Zilla-Plugin-Manifest-Write> is used as synonym for full name
#pod C<perl-Dist-Zilla-Plugin-Manifest-Write>. We are in the Perl world, aren't we?
#pod
#pod You may notice that name may be spelled with dashes (C<Dist-Zilla-Plugin-Manifest-Write>) or with double colons
#pod (C<Dist::Zilla::Plugin::Manifest::Write>). Strictly speaking, there is difference: the first one is software name,
#pod while the second is name of Perl package, but often these names are interchangeable especially if
#pod software consists of single package.
#pod
#pod =cut

# end of file #
# doc/generic/forms.pod #

#pod =encoding UTF-8
#pod
#pod =head1 FORMS
#pod
#pod You may face C<Dist-Zilla-Plugin-Manifest-Write> in I<source> or I<distribution> forms.
#pod
#pod If you are going to have annotated MANIFEST in your distribution, you will likely be interested in I<using> C<Dist-Zilla-Plugin-Manifest-Write>
#pod I<distribution>. If you are going to I<develop> (or I<hack>) the C<Dist-Zilla-Plugin-Manifest-Write> itself, you will
#pod likely need the I<source>, not distribution.
#pod
#pod Since Perl is an interpreting language, modules in the distribution I<look> like sources. Actually,
#pod they are Perl source files. But they are not I<actual> sources, because they are I<built>
#pod (preprocessed or generated) by L<Dist-Zilla>.
#pod
#pod How to distinguish source and distribution:
#pod
#pod =over
#pod
#pod =item *
#pod
#pod Source may contain Mercurial files and directories F<.hgignore>, F<.hgtags>, F<.hg/>, while
#pod distribution should not.
#pod
#pod =item *
#pod
#pod Source should contain files F<dist.ini>, F<weaver.ini>, while distribution may not.
#pod
#pod =item *
#pod
#pod Source should I<not> contain F<xt/> directory, while distribution should.
#pod
#pod =item *
#pod
#pod Name of source directory does I<not> include version (e. g. C<Dist-Zilla-Plugin-Manifest-Write>), while name of
#pod distribution does (e. g. C<Dist-Zilla-Plugin-Manifest-Write-0.007>).
#pod
#pod =back
#pod
#pod =cut

# end of file #
# doc/generic/source.pod #

#pod =encoding UTF-8
#pod
#pod =head1 SOURCE
#pod
#pod C<Dist-Zilla-Plugin-Manifest-Write> source is in Mercurial repository hosted on fedorapeople.org. To  clone the entire
#pod repository:
#pod
#pod     $ hg clone https://vandebugger.fedorapeople.org/hg/perl-Dist-Zilla-Plugin-Manifest-Write/ \
#pod         perl-Dist-Zilla-Plugin-Manifest-Write
#pod
#pod =head2 Source Files
#pod
#pod C<Dist-Zilla-Plugin-Manifest-Write> source files usually include a comment near the top of the file:
#pod
#pod     This file is part of perl-Dist-Zilla-Plugin-Manifest-Write.
#pod
#pod Not all source files are included into distribution. Some source files are used at distribution
#pod build time only, and not required for installation.
#pod
#pod =cut

# end of file #
# doc/generic/distribution.pod #

#pod =encoding UTF-8
#pod
#pod =head1 DISTRIBUTION
#pod
#pod C<Dist-Zilla-Plugin-Manifest-Write> distributions are published on L<CPAN|https://metacpan.org/release/Dist-Zilla-Plugin-Manifest-Write>.
#pod
#pod =head2 Generated Files
#pod
#pod Distribution may contain files preprocessed or generated by C<Dist-Zilla> and its plugins. Some
#pod generated files are made from C<Dist-Zilla-Plugin-Manifest-Write> source, but some are generated from third-party
#pod templates. Files generated from third-party templates usually include a comment near the top of the
#pod file:
#pod
#pod     This file was generated with NAME
#pod
#pod (where I<NAME> is a name of the plugin generated the file). Such files are I<not> part of
#pod C<Dist-Zilla-Plugin-Manifest-Write> source, and C<Dist-Zilla-Plugin-Manifest-Write> copyright and license are not applicable to such
#pod files.
#pod
#pod =cut

# end of file #
# doc/generic/installing.pod #

#pod =encoding UTF-8
#pod
#pod =head1 INSTALLING
#pod
#pod =head2 With C<cpanm>
#pod
#pod C<cpanm> tool is (probably) the easiest way to install distribution. It automates downloading,
#pod building, testing, installing, and uninstalling.
#pod
#pod To install the latest version from CPAN:
#pod
#pod     $ cpanm Dist::Zilla::Plugin::Manifest::Write
#pod
#pod To install a specific version (e. g. I<0.007>) from CPAN:
#pod
#pod     $ cpanm Dist::Zilla::Plugin::Manifest::Write@0.007
#pod
#pod To install locally available distribution (e. g. previously downloaded from CPAN or built from
#pod sources):
#pod
#pod     $ cpanm ./Dist-Zilla-Plugin-Manifest-Write-0.007.tar.gz
#pod
#pod To uninstall the distribution:
#pod
#pod     $ cpanm -U Dist::Zilla::Plugin::Manifest::Write
#pod
#pod =head2 Manually
#pod
#pod To install distribution tarball manually (let us assume you have version I<0.007> of the
#pod distribution):
#pod
#pod     $ tar xaf Dist-Zilla-Plugin-Manifest-Write-0.007.tar.gz
#pod     $ cd Dist-Zilla-Plugin-Manifest-Write-0.007
#pod     $ perl Build.PL
#pod     $ ./Build build
#pod     $ ./Build test
#pod     $ ./Build install
#pod
#pod =head2 See Also
#pod
#pod L<How to install CPAN modules|http://www.cpan.org/modules/INSTALL.html>
#pod
#pod =cut

# end of file #
# doc/generic/hacking.pod #

#pod =encoding UTF-8
#pod
#pod =head1 HACKING
#pod
#pod For hacking, you will need Mercurial, Perl interpreter and C<Dist-Zilla> (with some plugins), and
#pod likely C<cpanm> to install missed parts.
#pod
#pod Clone the repository first:
#pod
#pod     $ hg clone https://vandebugger.fedorapeople.org/hg/perl-Dist-Zilla-Plugin-Manifest-Write/ \
#pod         perl-Dist-Zilla-Plugin-Manifest-Write
#pod     $ cd perl-Dist-Zilla-Plugin-Manifest-Write
#pod
#pod To build a distribution from the source, run:
#pod
#pod     $ dzil build
#pod
#pod If required C<Dist-Zilla> plugins are missed, C<dzil> tool will warn you and show the command to
#pod install all the required plugins, e. g.:
#pod
#pod     Required plugin Dist::Zilla::Plugin::Test::EOL isn't installed.
#pod
#pod     Run 'dzil authordeps' to see a list of all required plugins.
#pod     You can pipe the list to your CPAN client to install or update them:
#pod
#pod         dzil authordeps --missing | cpanm
#pod
#pod To run the tests:
#pod
#pod     $ dzil test
#pod
#pod To run all the tests, including release tests:
#pod
#pod     $ dzil test --release
#pod
#pod To install the distribution:
#pod
#pod     $ dzil install
#pod
#pod or
#pod
#pod     $ cpanm ./Dist-Zilla-Plugin-Manifest-Write-VERSION.tar.gz
#pod
#pod where I<VERSION> is a version of built distribution.
#pod
#pod To clean the directory:
#pod
#pod     $ dzil clean
#pod
#pod =cut

# end of file #
# doc/generic/documentation.pod #

#pod =encoding UTF-8
#pod
#pod =head1 DOCUMENTATION
#pod
#pod =head2 Online
#pod
#pod The easiest way is browsing the documentation L<online at meta::cpan|https://metacpan.org/release/Dist-Zilla-Plugin-Manifest-Write>.
#pod
#pod =head2 Locally Installed
#pod
#pod If you have the distribution installed, use C<perldoc> tool to browse locally
#pod installed documentation:
#pod
#pod     $ perldoc Dist::Zilla::Plugin::Manifest::Write::ReadMe
#pod     $ perldoc Dist::Zilla::Plugin::Manifest::Write::Manual
#pod     $ perldoc Dist::Zilla::Plugin::Manifest::Write
#pod
#pod =head2 Built from Source
#pod
#pod Build C<Dist-Zilla-Plugin-Manifest-Write> first (see L</"HACKING">), then:
#pod
#pod     $ cd Dist-Zilla-Plugin-Manifest-Write-VERSION
#pod     $ perldoc Dist::Zilla::Plugin::Manifest::Write::ReadMe
#pod     $ perldoc Dist::Zilla::Plugin::Manifest::Write::Manual
#pod     $ perldoc Dist::Zilla::Plugin::Manifest::Write
#pod
#pod where I<VERSION> is a version of built distribution.
#pod
#pod =cut

# end of file #
# doc/generic/feedback.pod #

#pod =encoding UTF-8
#pod
#pod =head1 FEEDBACK
#pod
#pod =head2 CPAN Request Tracker
#pod
#pod The quickest way to report a bug in C<Dist-Zilla-Plugin-Manifest-Write> is by sending email to bug-Dist-Zilla-Plugin-Manifest-Write [at]
#pod rt.cpan.org.
#pod
#pod CPAN request tracker can be used via web interface also:
#pod
#pod =over
#pod
#pod =item L<Browse bugs|https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Manifest-Write>
#pod
#pod Browsing bugs does not require authentication.
#pod
#pod =item L<Report bugs|https://rt.cpan.org/Public/Bug/Report.html?Queue=Dist-Zilla-Plugin-Manifest-Write>
#pod
#pod You need to be a CPAN author, have a L<BitCard|https://www.bitcard.org/> account, or OpenID in
#pod order to report bugs via the web interface.
#pod
#pod (On 2015-04-27 I have logged in successfully with my LiveJournal OpenID, but my Google OpenID did
#pod not work for CPAN. I did not check other OpenID providers.)
#pod
#pod =back
#pod
#pod =head2 Send Email to Author
#pod
#pod As a last resort, send email to author: Van de Bugger <van.de.bugger@gmail.com>. Please start message subject with
#pod "perl-Dist-Zilla-Plugin-Manifest-Write:".
#pod
#pod =cut

# end of file #
# doc/generic/glossary.pod #

#pod =encoding UTF-8
#pod
#pod =head1 GLOSSARY
#pod
#pod =over
#pod
#pod =item CPAN
#pod
#pod Comprehensive Perl Archive Network, a B<large> collection of Perl software and documentation. See
#pod L<cpan.org|http://www.cpan.org>, L<What is
#pod CPAN?|http://www.cpan.org/misc/cpan-faq.html#What_is_CPAN>.
#pod
#pod =item Distribution
#pod
#pod Tarball, containing Perl modules and accompanying files (documentation, metainfo, tests). Usually
#pod distributions are uploaded to CPAN, and can be installed with dedicated tools (C<cpan>, C<cpanm>,
#pod and others).
#pod
#pod =item Module
#pod
#pod Perl library file, usually with C<.pm> suffix. Usually contains one package. See
#pod L<perlmod|http://perldoc.perl.org/perlmod.html#Perl-Modules>.
#pod
#pod =item Package
#pod
#pod Perl language construct. See L<package|http://perldoc.perl.org/functions/package.html> and
#pod L<perlmod|http://perldoc.perl.org/perlmod.html#Packages>.
#pod
#pod =back
#pod
#pod =cut

# end of file #


# end of file #

__END__

=pod

=encoding UTF-8

=head1 NAME

Dist::Zilla::Plugin::Manifest::Write::ReadMe - C<Manifest::Write> plugin readme

=head1 VERSION

Version 0.005, released on 2015-07-15 20:47 UTC.

=head1 WHAT?

C<Manifest::Write> is a plugin for C<Dist::Zilla>, a replacement for standard plugin C<Manifest>.
C<Manifest::Write> writes annotated F<MANIFEST>: each filename is followed by a comment, explaining
origin of the file, whether it is part of software, meta information, or 3rd party file.

This is C<Manifest::Write> readme. It covers general topics like getting source,
building, installing, bug reporting and some others.

If you want to have annotated MANIFEST in your distribution, read the L<manual|Dist::Zilla::Plugin::Manifest::Write::Manual>. If you
are going to hack or extend C<Dist-Zilla-Plugin-Manifest-Write>, read the L<module documentation|Dist::Zilla::Plugin::Manifest::Write>.

=head1 WHY?

F<MANIFEST> is a metainfo file, a part of every distribution. It is a plain list of files included
into the distribution. Typical F<MANIFEST> looks like:

    Build.PL
    COPYING
    Changes
    MANIFEST
    META.yml
    README
    lib/Foo.pm
    t/00-compile.t
    xt/author/eol.t
    xt/author/no-tabs.t

Format of manifest allows comments, but comments are rarely used.

As it noted before, manifest is a plain list of files. However, files included into a distribution
differ:

=over

=item 1.

Some files are created by software author (in the example above, F<lib/Assa.pm> I<could> be such
file). Some of these files may be processed by various filters (like C<PodWeaver>).

=item 2.

Some files contain distribution metainformation (F<META.yml> and F<MANIFEST> itself).

=item 3.

Some files may be generated by a tool from third party templates (C<Dist-Zilla> and its plugins can
generate a lot of various files, in the example above all the tests I<could> be generated, as well
as F<Build.PL>, F<COPYING>, and even F<Changes>).

=back

Sometimes you may want (or have) to trace an origin of a file: whether this file created by author
or automatically added, if the file was processed or added as-is. With a typical manifest you have
to I<guess> origin of each file, because distribution build tool, C<Dist-Zilla>, throws this
information away. C<Manifest::Write> saves this information in comments, e. g.:

    Build.PL            # 3rd party file added by ModuleBuildTiny
    COPYING             #       Foo file added by GatherFromManifest
    Changes             #       Foo file added by GatherFromManifest
    MANIFEST            #  metainfo file built by Manifest::Write
    META.yml            #  metainfo file built by MetaYAML
    README              #       Foo file added by GatherFromManifest
    lib/Foo.pm          #       Foo file added by GatherFromManifest and modified by PkgVersion
    t/00-compile.t      # 3rd party file added by Test::Compile
    xt/author/eol.t     # 3rd party file added by Test::EOL
    xt/author/no-tabs.t # 3rd party file added by Test::NoTabs

(In the example above "Foo" is name of manifested distribution.)

With such annotated manifest there is no need to I<guess>, you just I<know>.

=head1 NAMING

C<perl-Dist-Zilla-Plugin-Manifest-Write> is official software name.

However, in Perl world prefix "perl-" is redundant and not used. For example, on
L<meta::cpan|https://metacpan.org/> this software is named as C<Dist-Zilla-Plugin-Manifest-Write>. In the rest of the
documentation shortened name C<Dist-Zilla-Plugin-Manifest-Write> is used as synonym for full name
C<perl-Dist-Zilla-Plugin-Manifest-Write>. We are in the Perl world, aren't we?

You may notice that name may be spelled with dashes (C<Dist-Zilla-Plugin-Manifest-Write>) or with double colons
(C<Dist::Zilla::Plugin::Manifest::Write>). Strictly speaking, there is difference: the first one is software name,
while the second is name of Perl package, but often these names are interchangeable especially if
software consists of single package.

=head1 FORMS

You may face C<Dist-Zilla-Plugin-Manifest-Write> in I<source> or I<distribution> forms.

If you are going to have annotated MANIFEST in your distribution, you will likely be interested in I<using> C<Dist-Zilla-Plugin-Manifest-Write>
I<distribution>. If you are going to I<develop> (or I<hack>) the C<Dist-Zilla-Plugin-Manifest-Write> itself, you will
likely need the I<source>, not distribution.

Since Perl is an interpreting language, modules in the distribution I<look> like sources. Actually,
they are Perl source files. But they are not I<actual> sources, because they are I<built>
(preprocessed or generated) by L<Dist-Zilla>.

How to distinguish source and distribution:

=over

=item *

Source may contain Mercurial files and directories F<.hgignore>, F<.hgtags>, F<.hg/>, while
distribution should not.

=item *

Source should contain files F<dist.ini>, F<weaver.ini>, while distribution may not.

=item *

Source should I<not> contain F<xt/> directory, while distribution should.

=item *

Name of source directory does I<not> include version (e. g. C<Dist-Zilla-Plugin-Manifest-Write>), while name of
distribution does (e. g. C<Dist-Zilla-Plugin-Manifest-Write-0.007>).

=back

=head1 SOURCE

C<Dist-Zilla-Plugin-Manifest-Write> source is in Mercurial repository hosted on fedorapeople.org. To  clone the entire
repository:

    $ hg clone https://vandebugger.fedorapeople.org/hg/perl-Dist-Zilla-Plugin-Manifest-Write/ \
        perl-Dist-Zilla-Plugin-Manifest-Write

=head2 Source Files

C<Dist-Zilla-Plugin-Manifest-Write> source files usually include a comment near the top of the file:

    This file is part of perl-Dist-Zilla-Plugin-Manifest-Write.

Not all source files are included into distribution. Some source files are used at distribution
build time only, and not required for installation.

=head1 DISTRIBUTION

C<Dist-Zilla-Plugin-Manifest-Write> distributions are published on L<CPAN|https://metacpan.org/release/Dist-Zilla-Plugin-Manifest-Write>.

=head2 Generated Files

Distribution may contain files preprocessed or generated by C<Dist-Zilla> and its plugins. Some
generated files are made from C<Dist-Zilla-Plugin-Manifest-Write> source, but some are generated from third-party
templates. Files generated from third-party templates usually include a comment near the top of the
file:

    This file was generated with NAME

(where I<NAME> is a name of the plugin generated the file). Such files are I<not> part of
C<Dist-Zilla-Plugin-Manifest-Write> source, and C<Dist-Zilla-Plugin-Manifest-Write> copyright and license are not applicable to such
files.

=head1 INSTALLING

=head2 With C<cpanm>

C<cpanm> tool is (probably) the easiest way to install distribution. It automates downloading,
building, testing, installing, and uninstalling.

To install the latest version from CPAN:

    $ cpanm Dist::Zilla::Plugin::Manifest::Write

To install a specific version (e. g. I<0.007>) from CPAN:

    $ cpanm Dist::Zilla::Plugin::Manifest::Write@0.007

To install locally available distribution (e. g. previously downloaded from CPAN or built from
sources):

    $ cpanm ./Dist-Zilla-Plugin-Manifest-Write-0.007.tar.gz

To uninstall the distribution:

    $ cpanm -U Dist::Zilla::Plugin::Manifest::Write

=head2 Manually

To install distribution tarball manually (let us assume you have version I<0.007> of the
distribution):

    $ tar xaf Dist-Zilla-Plugin-Manifest-Write-0.007.tar.gz
    $ cd Dist-Zilla-Plugin-Manifest-Write-0.007
    $ perl Build.PL
    $ ./Build build
    $ ./Build test
    $ ./Build install

=head2 See Also

L<How to install CPAN modules|http://www.cpan.org/modules/INSTALL.html>

=head1 HACKING

For hacking, you will need Mercurial, Perl interpreter and C<Dist-Zilla> (with some plugins), and
likely C<cpanm> to install missed parts.

Clone the repository first:

    $ hg clone https://vandebugger.fedorapeople.org/hg/perl-Dist-Zilla-Plugin-Manifest-Write/ \
        perl-Dist-Zilla-Plugin-Manifest-Write
    $ cd perl-Dist-Zilla-Plugin-Manifest-Write

To build a distribution from the source, run:

    $ dzil build

If required C<Dist-Zilla> plugins are missed, C<dzil> tool will warn you and show the command to
install all the required plugins, e. g.:

    Required plugin Dist::Zilla::Plugin::Test::EOL isn't installed.

    Run 'dzil authordeps' to see a list of all required plugins.
    You can pipe the list to your CPAN client to install or update them:

        dzil authordeps --missing | cpanm

To run the tests:

    $ dzil test

To run all the tests, including release tests:

    $ dzil test --release

To install the distribution:

    $ dzil install

or

    $ cpanm ./Dist-Zilla-Plugin-Manifest-Write-VERSION.tar.gz

where I<VERSION> is a version of built distribution.

To clean the directory:

    $ dzil clean

=head1 DOCUMENTATION

=head2 Online

The easiest way is browsing the documentation L<online at meta::cpan|https://metacpan.org/release/Dist-Zilla-Plugin-Manifest-Write>.

=head2 Locally Installed

If you have the distribution installed, use C<perldoc> tool to browse locally
installed documentation:

    $ perldoc Dist::Zilla::Plugin::Manifest::Write::ReadMe
    $ perldoc Dist::Zilla::Plugin::Manifest::Write::Manual
    $ perldoc Dist::Zilla::Plugin::Manifest::Write

=head2 Built from Source

Build C<Dist-Zilla-Plugin-Manifest-Write> first (see L</"HACKING">), then:

    $ cd Dist-Zilla-Plugin-Manifest-Write-VERSION
    $ perldoc Dist::Zilla::Plugin::Manifest::Write::ReadMe
    $ perldoc Dist::Zilla::Plugin::Manifest::Write::Manual
    $ perldoc Dist::Zilla::Plugin::Manifest::Write

where I<VERSION> is a version of built distribution.

=head1 FEEDBACK

=head2 CPAN Request Tracker

The quickest way to report a bug in C<Dist-Zilla-Plugin-Manifest-Write> is by sending email to bug-Dist-Zilla-Plugin-Manifest-Write [at]
rt.cpan.org.

CPAN request tracker can be used via web interface also:

=over

=item L<Browse bugs|https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Manifest-Write>

Browsing bugs does not require authentication.

=item L<Report bugs|https://rt.cpan.org/Public/Bug/Report.html?Queue=Dist-Zilla-Plugin-Manifest-Write>

You need to be a CPAN author, have a L<BitCard|https://www.bitcard.org/> account, or OpenID in
order to report bugs via the web interface.

(On 2015-04-27 I have logged in successfully with my LiveJournal OpenID, but my Google OpenID did
not work for CPAN. I did not check other OpenID providers.)

=back

=head2 Send Email to Author

As a last resort, send email to author: Van de Bugger <van.de.bugger@gmail.com>. Please start message subject with
"perl-Dist-Zilla-Plugin-Manifest-Write:".

=head1 GLOSSARY

=over

=item CPAN

Comprehensive Perl Archive Network, a B<large> collection of Perl software and documentation. See
L<cpan.org|http://www.cpan.org>, L<What is
CPAN?|http://www.cpan.org/misc/cpan-faq.html#What_is_CPAN>.

=item Distribution

Tarball, containing Perl modules and accompanying files (documentation, metainfo, tests). Usually
distributions are uploaded to CPAN, and can be installed with dedicated tools (C<cpan>, C<cpanm>,
and others).

=item Module

Perl library file, usually with C<.pm> suffix. Usually contains one package. See
L<perlmod|http://perldoc.perl.org/perlmod.html#Perl-Modules>.

=item Package

Perl language construct. See L<package|http://perldoc.perl.org/functions/package.html> and
L<perlmod|http://perldoc.perl.org/perlmod.html#Packages>.

=back

=head1 SEE ALSO

=over 4

=item L<Dist::Zilla>

=item L<Dist::Zilla::Plugin::Manifest>

=back

=head1 AUTHOR

Van de Bugger <van.de.bugger@gmail.com>

=head1 COPYRIGHT AND LICENSE

Copyright © 2015 Van de Bugger

This file is part of perl-Dist-Zilla-Plugin-Manifest-Write.

perl-Dist-Zilla-Plugin-Manifest-Write is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later version.

perl-Dist-Zilla-Plugin-Manifest-Write is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
perl-Dist-Zilla-Plugin-Manifest-Write. If not, see <http://www.gnu.org/licenses/>.

=cut
