NAME
P5U::Command::Deps - p5u plugin to scan a file or directory for Perl dependencies
SYNOPSIS
$ p5u deps lib/Foo/Bar.pm
# RUNTIME
Foo 1.000
constant 0
perl 5.010
strict 0
utf8 0
$ p5u deps --skipcore lib/Foo/Bar.pm
# RUNTIME
Foo 1.000
DESCRIPTION
Given a list of filenames and/or directories, uses Perl::PrereqScanner to calculate a combined list of dependencies. If no filenames are given, then the current directory is assumed.
It uses file naming conventions to attempt to classify dependencies as "runtime", "test" and "build".
Unless using the --keep-provided
option, will use Class::Discover to discover what packages are provided by the codebase, and skip those. For example, if there's a lib/Foo/Bar.pm providing Foo::Bar, and the test suite loads that module, it won't be included as a test_requires dependency.
With the --skip-core
option, will also skip dependencies that are satisfied by Perl core. This requires at least one use VERSION
line in the files being scanned.
Output is in the text format shown above, but with --format=mi
will attempt to output Module::Install-style requirements. With --format=pretdsl
will output data in a format suitable for RDF::TrineX::Parser::Pretdsl.
BUGS
Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=P5U-Command-Deps.
SEE ALSO
P5U.
Class::Discover, Perl::PrereqScanner, App::PrereqGrapher.
AUTHOR
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE
This software is copyright (c) 2012-2013 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
DISCLAIMER OF WARRANTIES
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.