NAME
Dist::Zilla::Plugin::ShareDir::Tarball - Bundle your shared dir into a
tarball
VERSION
version 0.4.0
SYNOPSIS
# in dist.ini
[ShareDir::Tarball]
DESCRIPTION
Using File::ShareDir to deploy non-Perl files alongside a distribution
is great, but it has a problem. Just like for modules, upon installation
CPAN clients don't remove any of the files that were already present in
the */lib* directories beforehand. So if version 1.0 of the distribution
was sharing
share/foo
share/bar
and version 1.1 changed that to
share/foo
share/baz
then a user installing first version 1.0 then 1.1 will end up with
share/foo
share/bar
share/baz
which might be a problem (or not).
Fortunately, there is a sneaky workaround in the case where you don't
want the files of past distributions to linger around. The trick is
simple: bundle all the files to be shared into a tarball called
*shared-files.tar.gz*. As there is only that one file, any new install
is conveniently clobbering the old version.
But archiving the content of the *share* directory is no fun. Hence
Dist::Zilla::Plugin::ShareDir::Tarball which, upon the file munging
stage, gathers all files in the *share* directory and build the
*shared-files.tar.gz* archive with them. If there is no such files, the
process is simply skipped.
OPTIONS
dir
The source directory to be bundled into the shared tarball. Defaults to
"share".
SEE ALSO
Dist::Zilla::Plugin::ShareDir, which is similar to this module, but
without the conversion of the shared directory into a tarball.
File::ShareDir::Tarball - transparently extract the tarball behind the
scene so that the shared directory can be accessed just like it is in
File::ShareDir.
Module::Build::CleanInstall - A subclass of Module::Build which
deinstall the files from previous installations via their *packlist*.
AUTHOR
Yanick Champoux <yanick@babyl.dyndns.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Yanick Champoux.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.