Dist-Zilla-Plugin-RequiresExternal
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Dist/Zilla/Plugin/RequiresExternal.pm view on Meta::CPAN
package Dist::Zilla::Plugin::RequiresExternal;
# ABSTRACT: make dists require external commands
use Modern::Perl '2010'; ## no critic (Modules::ProhibitUseQuotedVersion)
our $VERSION = '1.009'; # VERSION
use utf8;
#pod =for test_synopsis
#pod BEGIN { die "SKIP: this is ini, not perl\n" }
#pod
#pod =head1 SYNOPSIS
#pod
#pod In your F<dist.ini>:
#pod
#pod [RequiresExternal]
#pod requires = /path/to/some/executable
#pod requires = executable_in_path
#pod
#pod =head1 DESCRIPTION
#pod
#pod This L<Dist::Zilla|Dist::Zilla> plugin creates a test
#pod in your distribution to check for the existence of executable commands
#pod you require.
#pod
#pod =head1 SEE ALSO
#pod
#pod This module was indirectly inspired by
#pod L<Module::Install::External's requires_external_bin|Module::Install::External/requires_external_bin>
#pod command.
#pod
#pod =cut
use Moose;
use MooseX::Types::Moose qw(ArrayRef Bool Maybe Str);
use MooseX::AttributeShortcuts;
use Dist::Zilla::File::InMemory;
use List::MoreUtils 'part';
use Path::Class;
use namespace::autoclean;
with qw(
Dist::Zilla::Role::Plugin
Dist::Zilla::Role::FileGatherer
Dist::Zilla::Role::MetaProvider
Dist::Zilla::Role::TextTemplate
);
#pod =for Pod::Coverage mvp_multivalue_args
#pod
#pod =cut
sub mvp_multivalue_args { return 'requires' }
#pod =attr requires
#pod
#pod Each C<requires> attribute should be either an absolute path to an
#pod executable or the name of a command in the user's C<PATH> environment.
#pod Multiple C<requires> lines are allowed.
#pod
#pod Example from a F<dist.ini> file:
#pod
#pod [RequiresExternal]
#pod requires = sqlplus
#pod requires = /usr/bin/java
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.544 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )