NAME¶
Dist::Zilla::Plugin::PkgVersion - add a $VERSION to your packages
VERSION¶
version 5.020
SYNOPSIS¶
in dist.ini
[PkgVersion]
DESCRIPTION¶
This plugin will add lines like the following to each package in each Perl
module or program (more or less) within the distribution:
$MyModule::VERSION = 0.001;
...where 0.001 is the version of the dist, and MyModule is the name of the
package being given a version. (In other words, it always uses fully-qualified
names to assign versions.)
It will skip any package declaration that includes a newline between the
"package" keyword and the package name, like:
package
Foo::Bar;
This sort of declaration is also ignored by the CPAN toolchain, and is typically
used when doing monkey patching or other tricky things.
ATTRIBUTES¶
die_on_existing_version¶
If true, then when PkgVersion sees an existing $VERSION assignment, it will
throw an exception rather than skip the file. This attribute defaults to
false.
die_on_line_insertion¶
By default, PkgVersion look for a blank line after each "package"
statement. If it finds one, it inserts the $VERSION assignment on that line.
If it doesn't, it will insert a new line, which means the shipped copy of the
module will have different line numbers (off by one) than the source. If
"die_on_line_insertion" is true, PkgVersion will raise an exception
rather than insert a new line.
finder¶
This is the name of a FileFinder for finding modules to edit. The default value
is ":InstallModules" and ":ExecFiles"; this option can be
used more than once.
Other predefined finders are listed in "default_finders" in
Dist::Zilla::Role::FileFinderUser. You can define your own with the
[FileFinder::ByName] and [FileFinder::Filter] plugins.
SEE ALSO¶
Core Dist::Zilla plugins: PodVersion, AutoVersion, NextRelease.
Other Dist::Zilla plugins: OurPkgVersion inserts version numbers using "our
$VERSION = '...';" and without changing line numbers
AUTHOR¶
Ricardo SIGNES <rjbs@cpan.org>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2014 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.