App-Dothe

 view release on metacpan or  search on metacpan

lib/App/Dothe/Task.pm  view on Meta::CPAN

package App::Dothe::Task;
our $AUTHORITY = 'cpan:YANICK';
$App::Dothe::Task::VERSION = '0.0.1';
use 5.20.0;
use warnings;

use Moose;

use Log::Any qw($log);
use Types::Standard qw/ ArrayRef InstanceOf /;
use Type::Tiny;
use List::AllUtils qw/ min pairmap /;
use Ref::Util qw/ is_arrayref is_hashref /;
use PerlX::Maybe;
use Text::Template;
use Path::Tiny;
use File::Wildcard;


use experimental qw/
    signatures
    postderef
/;

has name => (
    is       => 'ro',
    required => 1,
);


has cmds => (
    is => 'ro',
    lazy => 1,
    default => sub { [] },
    traits => [ 'Array' ],
    handles => {
        commands => 'elements',
    },
);

has raw_sources => (
    is => 'ro',
    init_arg => 'sources',
    default => sub { [] },
);

has raw_generates => (
    is => 'ro',
    init_arg => 'generates',
    default => sub { [] },
);

has sources => (
    is => 'ro',
    init_arg => undef,
    lazy => 1,
    default => sub($self) {
        $self->vars->{sources} = $self->expand_files( $self->raw_sources )
    },
);

has generates => (
    is => 'ro',
    init_arg => undef,
    lazy => 1,
    default => sub ($self){
        $self->vars->{generates} = $self->expand_files( $self->raw_generates )
    },
);

sub expand_files($self, $list ) {
    $list = [ $list ] unless ref $list;

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.787 second using v1.00-cache-2.02-grep-82fe00e-cpan-9e6bc14194b )