NAME
podweaver - Run Pod::Weaver on a file or distribution.
VERSION
version 1.00
SYNOPSIS
podweaver [options]
Options:
-v, --verbose increase verbosity
--new write to *.new files rather than overwriting existing
--no_backup skip generating *.bak files when editing files
--antispam=str replace @ in author emails with 'str'.
--help brief help message
--man full documentation
--version display version information and exit
OPTIONS
- --new
-
Write the modified version of a file to a new file based on the original filename with a
.new
extension, rather than the default behaviour of overwriting the original.When --new is supplied, no *.bak backup of the original is created (since the original is left untouched.)
- --no_backup
-
Skips the production of *.bak backups for any changed files. Be warned, this could result in loss of the file contents if anything goes wrong, use with caution. (Or better still, use with your changes safely commited to the VCS of your choice.)
- --antispam=string
-
Replaces the @ in author email addresses with the supplied string as an anti-spam measure. Given that the original email is still within the META.yml, this will not prevent all spam harvesting, but it may at least help.
- -v, --verbose
-
Increases the level of messages displayed.
- --help, -h, -H, -?
-
Print a brief help message and exits.
- --man
-
Prints the manual page and exits.
- --version
-
Prints version information and the location of the config file and exits.
DESCRIPTION
podweaver will run Pod::Weaver across all files in a distribution, editing them in place and leaving a backup of the original in original.bak.
This was designed to run with the Pod::Weaver::PluginBundle::ReplaceBoilerplate plugin, so you can run podweaver as part of your release process to update the boilerplate and other automatically generated POD in your source files, rather than the default Pod::Weaver behaviour of appending.
To use podweaver it is suggested you place a weaver.ini
file in the root of your distribution with contents similar to:
[@ReplaceBoilerplate]
If no weaver.ini
is provided then the default Pod::Weaver settings are used, which will continuously append duplicate sections each time you run podweaver.
podweaver expects to be run in the root of your distribution, and will look for a META.json or META.yml file to extract details such as the author, licence and version. If no META file is found then it will issue a warning, but still run, which may result in some sections being missing from the final POD, it is recommended that you run podweaver again after you've generated your META file.
Currently podweaver looks in the lib
, bin
and script
dirs for modules or scripts that should be woven. This should probably be configurable.
Please see the documentation in App::podweaver for bugs and issues.
CONFIGURATION FILE
If you find yourself using the same command-line options repeatedly you can set them as defaults in an application configuration file.
This file is located in $HOME/.app_podweaver/podweaver.ini
for UNIX-based operating systems, and ~/Local Settings/Application Data/App-podweaver/podweaver.ini
under Windows.
You can find the exact location of your configuration file using the --version option.
The configuration file follows Config::Tiny style .ini format and consists of command-line option names for keys, for example:
antispam = BLAHBLAH
no_backup = 1
verbose = 2
This would be as if you provided --antispam=BLAHBLAH --no_baackup -vv
on the command-line.
Any options supplied on the command-line will override those supplied within the configuration file.
SEE ALSO
AUTHOR
Sam Graham <libapp-podweaver-perl BLAHBLAH illusori.co.uk>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010-2011 by Sam Graham <libapp-podweaver-perl BLAHBLAH illusori.co.uk>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.