Dist-Zilla-Plugin-RPM-Push

 view release on metacpan or  search on metacpan

lib/Dist/Zilla/Plugin/RPM/Push.pm  view on Meta::CPAN

    my $spec = $self->spec_file;
    for my $file ($self->zilla->files->flatten) {
        if ($file->name eq $self->spec_file) {
            $self->zilla->prune_file($file);
        }
    }
    return;
}

has '_rpmbuild_options' => (
	is => 'ro', isa => 'ArrayRef[Str]', lazy => 1,
	default => sub {
		my $self = shift;
		return( [
			$self->sign ? '--sign' : (),
			$self->ignore_build_deps ? '--nodeps' : (),
		] );
	},
);

has '_rpmbuild_stage' => (

lib/Dist/Zilla/Plugin/RPM/Push.pm  view on Meta::CPAN

    $self->_execute_rpmbuild;
    $self->log('RPMs build: '.join(', ', @{$self->_packages_build} ));

    if( $self->push_packages ) {
        $self->_execute_push_command;
    }

    return;
}

has '_packages_build' => ( is => 'ro', isa => 'ArrayRef[Str]', lazy => 1, default => sub { [] } );

sub _execute_rpmbuild {
	my $self = shift;
	my ($in, $out, $err);
	my $lang = $ENV{'LANG'};
	$ENV{'LANG'} = 'C';
	$self->log('building RPM...');
	IPC::Run::run( $self->_rpmbuild_command, \$in, \$out, \$err )
		or $self->log_fatal('rpmbuild failed: '.$err);
	foreach my $line ( split(/\n/, $out ) ) {
		if( $line =~ m/^Wrote: (.*)$/) {
			push(@{$self->_packages_build}, $1);
		}
	}
	$ENV{'LANG'} = $lang;
	return;
}

has _packages_to_push => (
	is => 'ro', isa => 'ArrayRef[Str]', lazy => 1,
	default => sub {
		my $self = shift;
		my $regex = $self->push_ignore_packages;
		return( [ grep { $_ !~ m/$regex/ } @{$self->_packages_build} ] );
	},
);

has _push_command => (
	is => 'ro', isa => 'ArrayRef', lazy => 1,
	default => sub {
		my $self = shift;
		return( [ split(/ /, $self->push_command) ] );
	},
);

sub _execute_push_command {
	my $self = shift;
	my ($in, $out, $err);



( run in 0.634 second using v1.01-cache-2.11-cpan-5f2e87ce722 )