P5U::Command::Deps - p5u plugin to scan a file or directory for Perl dependencies
$ 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
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.
--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.
Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=P5U-Command-Deps.
Toby Inkster <firstname.lastname@example.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.