Module-Provision

 view release on metacpan or  search on metacpan

lib/Module/Provision/TraitFor/AddingFiles.pm  view on Meta::CPAN

   $self->add_to_vcs( $target, 'program' );
   return OK;
}

sub test : method {
   my $self = shift; my $flags = $self->cmd_line_flags; $flags->{test} = TRUE;

   return $flags->{release} ? $self->release : $self->$_add_test_script;
}

sub update_file : method {
   my $self   = shift;
   my $target = $self->next_argv or throw Unspecified, [ 'target' ];
   my $index  = {};

   for my $t (map { my $k = $_->[ 0 ]; my $v = $_->[ 1 ];
                    $_->[ 1 ] = $v->relative( $self->appldir ); $_ }
              map { my $k = $_->[ 0 ]; my $v = $_->[ 1 ];
                    $v->is_dir and $_->[ 1 ] = $v->catfile( $k ); $_ }
              map { $self->expand_tuple( $_ ) } @{ $self->template_list } ) {
      $index->{ $t->[ 1 ]->pathname } = $t->[ 0 ];

lib/Module/Provision/TraitFor/UpdatingContent.pm  view on Meta::CPAN


# Public methods
sub substitute_version {
   my ($self, $path, $from, $to) = @_;

   $path->substitute( "\Q\'${from}.%d\',\E", "\'${to}.%d\'," );
   $path->substitute( "\Q v${from}.\$Rev\E", " v${to}.\$Rev" );
   return;
}

sub update_copyright_year : method {
   my $self = shift; my ($from, $to) = $self->$_get_update_args;

   my $prefix = $self->loc( 'Copyright (c)' );

   $from or throw Unspecified, [ 'from' ];
   $to   or throw Unspecified, [ 'to'   ];
   $self->quiet or $self->output( 'Updating copyright year' );

   for my $path (@{ $self->manifest_paths }) {
      $path->substitute( "\Q${prefix} ${from}\E", "${prefix} ${to}" );
   }

   return OK;
}

sub update_version : method {
   my $self = shift; my ($from, $to) = $self->$_get_update_args;

   my $ignore = $self->$_get_ignore_rev_regex;

   $self->quiet or $self->output( 'Updating version numbers' );

   ($from, $to) = $self->update_version_pre_hook( $from, $to );

   for my $path (@{ $self->manifest_paths }) {
      $ignore and $path =~ m{ (?: $ignore ) }mx and next;
      $self->substitute_version( $path, $from, $to );
   }

   $self->update_version_post_hook( $from, $to );
   return OK;
}

sub update_version_post_hook { # Can be modified by applied traits
}

sub update_version_pre_hook { # Can be modified by applied traits
   my ($self, @args) = @_;

   ($args[ 0 ] and $args[ 1 ]) or throw 'Insufficient arguments';

   return @args;
}

1;

__END__

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

( run in 0.650 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )