Pcore

 view release on metacpan or  search on metacpan

lib/Pcore/Dist/Build/Temp.pm  view on Meta::CPAN

    return $path;
}

sub _gather_files ($self) {
    my $tree = Pcore::Util::File::Tree->new;

    for my $dir (qw[bin lib share t xt]) {
        $tree->add_dir( "$self->{dist}->{root}/$dir", $dir );
    }

    # relocate files, apply cpan_manifest_skip
    my $cpan_manifest_skip = $self->{dist}->cfg->{cpan} && $self->{dist}->cfg->{cpan_manifest_skip} && $self->{dist}->cfg->{cpan_manifest_skip}->@* ? $self->{dist}->cfg->{cpan_manifest_skip} : undef;

    for my $file ( values $tree->{files}->%* ) {
        if ($cpan_manifest_skip) {
            my $skipped;

            for my $skip_re ( $cpan_manifest_skip->@* ) {
                if ( $file->{path} =~ $skip_re ) {
                    $skipped = 1;

lib/Pcore/Dist/Build/Temp.pm  view on Meta::CPAN


                    last;
                }
            }

            next if $skipped;
        }

        if ( $file->{path} =~ m[\Abin/(.+)\z]sm ) {

            # relocate scripts from the /bin/ to /script/
            my $name = $1;

            if ( $file->{path} !~ m[[.].+\z]sm ) {    # no extension
                $file->move("script/$name");
            }
            elsif ( $file->{path} =~ m[[.](?:pl|sh|cmd|bat)\z]sm ) {    # allowed extensions
                $file->move("script/$name");
            }
            else {
                $file->remove;
            }
        }
        elsif ( $file->{path} =~ m[\At/(.+)\z]sm && $file->{path} !~ m[[.]t\z]sm ) {

            # olny *.t files are allowed in /t/ dir
            $file->remove;
        }
        elsif ( $file->{path} =~ m[\Axt/(author|release|smoke)/(.+)\z]sm ) {

            # patch /xt/*/.t files and relocate to the /t/ dir
            my $test = $1;

            my $name = $2;

            # add common header to /xt/*.t file
            if ( $file->{path} =~ m[[.]t\z]sm ) {
                $file->move("t/$test-$name");

                $self->_patch_xt( $file, $test );
            }



( run in 0.458 second using v1.01-cache-2.11-cpan-5511b514fd6 )