view release on metacpan or search on metacpan
local/lib/perl5/Module/Build/Base.pm view on Meta::CPAN
$self->autosplit_file($_, $blib) for ref($split) ? @$split : ($split);
}
foreach my $element (@{$self->build_elements}) {
my $method = "process_${element}_files";
$method = "process_files_by_extension" unless $self->can($method);
$self->$method($element);
}
$self->depends_on('config_data');
}
local/lib/perl5/Module/Build/Base.pm view on Meta::CPAN
$self->log_info("Building " . $self->dist_name . "\n");
$self->depends_on('code');
$self->depends_on('docs');
}
sub process_files_by_extension {
my ($self, $ext) = @_;
my $method = "find_${ext}_files";
my $files = $self->can($method) ? $self->$method() : $self->_find_file_by_type($ext, 'lib');
foreach my $file (sort keys %$files) {
$self->copy_if_modified(from => $file, to => File::Spec->catfile($self->blib, $files->{$file}) );
}
}
sub process_support_files {
my $self = shift;
local/lib/perl5/Module/Build/Base.pm view on Meta::CPAN
# root for all File::ShareDir paths
my $share_prefix = File::Spec->catdir($self->blib, qw/lib auto share/);
# copy all share files to blib
foreach my $file (sort keys %$files) {
$self->copy_if_modified(
from => $file, to => File::Spec->catfile( $share_prefix, $files->{$file} )
);
}
}
local/lib/perl5/Module/Build/Base.pm view on Meta::CPAN
croak 'Can\'t build xs files under --pureperl-only' if %$files && $self->pureperl_only;
foreach my $from (sort keys %$files) {
my $to = $files->{$from};
unless ($from eq $to) {
$self->add_to_cleanup($to);
$self->copy_if_modified( from => $from, to => $to );
}
$self->process_xs($to);
}
}
sub process_pod_files { shift()->process_files_by_extension(shift()) }
sub process_pm_files { shift()->process_files_by_extension(shift()) }
sub process_script_files {
my $self = shift;
my $files = $self->find_script_files;
return unless keys %$files;
my $script_dir = File::Spec->catdir($self->blib, 'script');
File::Path::mkpath( $script_dir );
foreach my $file (sort keys %$files) {
my $result = $self->copy_if_modified($file, $script_dir, 'flatten') or next;
$self->fix_shebang_line($result) unless $self->is_vmsish;
$self->make_executable($result);
}
}
local/lib/perl5/Module/Build/Base.pm view on Meta::CPAN
File::Spec->rel2abs( $dir ) );
my $to_file =
File::Spec->catfile( $ppm, 'blib',
exists( $types{$type} ) ? $types{$type} : $type,
$rel_file );
$self->copy_if_modified( from => $file, to => $to_file );
}
}
foreach my $type ( qw(bin lib) ) {
$self->htmlify_pods( $type, File::Spec->catdir($ppm, 'blib', 'html') );
local/lib/perl5/Module/Build/Base.pm view on Meta::CPAN
$self->log_info("Creating $dist_dir\n");
$self->add_to_cleanup($dist_dir);
foreach my $file (sort keys %$dist_files) {
next if $file =~ m{^MYMETA\.}; # Double check that we skip MYMETA.*
my $new = $self->copy_if_modified(from => $file, to_dir => $dist_dir, verbose => 0);
}
$self->do_create_bundle_inc if @{$self->bundle_inc};
$self->_sign_dir($dist_dir) if $self->{properties}{sign};
local/lib/perl5/Module/Build/Base.pm view on Meta::CPAN
warn "'Argument list' was 'too long', env lengths are $env_entries";
}
return !$status;
}
sub copy_if_modified {
my $self = shift;
my %args = (@_ > 3
? ( @_ )
: ( from => shift, to_dir => shift, flatten => shift )
);
$args{verbose} = !$self->quiet
unless exists $args{verbose};
my $file = $args{from};
unless (defined $file and length $file) {
die "No 'from' parameter given to copy_if_modified";
}
# makes no sense to replicate an absolute path, so assume flatten
$args{flatten} = 1 if File::Spec->file_name_is_absolute( $file );
local/lib/perl5/Module/Build/Base.pm view on Meta::CPAN
} elsif (defined $args{to_dir} and length $args{to_dir}) {
$to_path = File::Spec->catfile( $args{to_dir}, $args{flatten}
? File::Basename::basename($file)
: $file );
} else {
die "No 'to' or 'to_dir' parameter given to copy_if_modified";
}
return if $self->up_to_date($file, $to_path); # Already fresh
{
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Clownfish/CFC/Perl/Build.pm view on Meta::CPAN
my $dest_dir = catdir( $self->blib, 'arch', 'Clownfish', '_include' );
for my $include_dir ($self->cf_c_include_dirs) {
my $file = catfile ( $include_dir, @path );
if ( -e $file ) {
$self->copy_if_modified(
from => $file,
to => catfile( $dest_dir, @path ),
);
return;
}
lib/Clownfish/CFC/Perl/Build.pm view on Meta::CPAN
);
# Install .lib file on Windows
# TODO: Install .dll.a when building with GCC on Windows?
my $implib_file = catfile( $libdir, "$class_name.lib" );
if ( -e $implib_file ) {
$self->copy_if_modified(
from => $implib_file,
to => catfile( $archdir, "$class_name.lib" ),
);
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
inc/My/Module/Build.pm view on Meta::CPAN
=cut
sub process_pm_files {
no warnings "once";
local *copy_if_modified = \*process_pm_file_if_modified;
my $self = shift;
return $self->SUPER::process_pm_files(@_);
}
=item I<process_pm_file_if_modified(%args)>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/DBIx/Migration/Directories/Build/Base.pm view on Meta::CPAN
my($self, $dir) = @_;
my $blib = File::Spec->catdir($self->blib, $dir);
File::Path::mkpath($blib);
my $dir_files = $self->rscan_dir($dir, sub { -f($_) && !m{/CVS|\.svn/}});
foreach my $i (@$dir_files) {
$self->copy_if_modified(
from => $i,
to => File::Spec->catfile($self->blib, $i)
);
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Build/with/XSTests.pm view on Meta::CPAN
foreach my $from ( sort keys %$testxsfiles ) {
my $to = $testxsfiles->{$from};
if( $to ne $from ) {
$self->add_to_cleanup( $to );
$self->copy_if_modified( from => $from, to => $to );
}
$self->process_xs( $to );
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
$self->up_to_date($cfile, $pmfile);
}
print "swig: $file -> $cfile\n" if $verb;
$self->do_system('swig', '-o', $cfile, '-perl', '-outdir',
$lib, @swig_flags, $file);
$self->copy_if_modified(from => $pmfile, to_dir => 'blib');
}
return 1;
}
sub process_c_files {
my $self = shift;
extra_compiler_flags => $self->config('extra_compiler_flags'));
print "CB compiled: $obj\n" if $verb;
my $lib = $cb->link(objects => $obj,
extra_linker_flags => $self->config('extra_linker_flags'));
print "CB generated: $lib\n" if $verb;
$self->copy_if_modified(from => $lib, to => $libname);
}
return 1;
}
!);
#
view all matches for this distribution
view release on metacpan or search on metacpan
install_util/GBrowseInstall.pm view on Meta::CPAN
my $f = IO::File->new('MANIFEST');
while (<$f>) {
chomp;
if (m!^(conf|htdocs)!) {
$self->copy_if_modified($_ => $dir);
} elsif (m!cgi-bin!) {
$self->copy_if_modified(from => $_,to_dir => "$dir/cgi-bin/gb2",flatten=>1);
chmod 0755,$_ foreach (glob "$dir/cgi-bin/gb2/*");
} elsif (m!^sample_data!) {
chdir $self->base_dir();
my ($subdir) = m!^sample_data/([^/]+)/!;
$self->copy_if_modified(from => $_,
to_dir => "$dir/htdocs/databases/$subdir",
flatten => 1,
);
}
}
install_util/GBrowseInstall.pm view on Meta::CPAN
while (<$f>) {
next unless m!^conf/!;
chomp;
my $base = $_;
my $copied = $self->copy_if_modified($_=>'blib');
if ($copied || !$self->up_to_date('_build/config_data',"blib/$_")) {
$self->substitute_in_place("blib/$_");
$self->check_installed($install_path,$base);
}
}
install_util/GBrowseInstall.pm view on Meta::CPAN
my %doneit;
while (<$f>) {
next unless m!^htdocs/!;
chomp;
my $base = $_;
my $copied = $self->copy_if_modified($base=>'blib');
if ($copied or !$self->up_to_date('_build/config_data',"blib/$base")) {
$self->substitute_in_place("blib/$base");
$self->check_installed($install_path,$base) if $copied;
}
}
install_util/GBrowseInstall.pm view on Meta::CPAN
my $self = shift;
my $f = IO::File->new('MANIFEST');
while (<$f>) {
next unless m!^cgi-bin/!;
chomp;
my $copied = $self->copy_if_modified($_=>'blib');
my $path = File::Spec->catfile('blib',$_);
if ($copied) {
$self->fix_shebang_line($path);
chmod 0755,$path;
}
install_util/GBrowseInstall.pm view on Meta::CPAN
next unless m!^etc/!;
chomp;
my $base = $_;
my $copied = $self->copy_if_modified($_=>'blib');
if ($copied or !$self->up_to_date('_build/config_data',"blib/$_")) {
$self->substitute_in_place("blib/$_");
$self->check_installed($install_path,$base);
}
}
install_util/GBrowseInstall.pm view on Meta::CPAN
my $f = IO::File->new('MANIFEST');
while (<$f>) {
next unless m!^sample_data/!;
chomp;
my $dest = $_; $dest =~ s|^sample_data/||;
$self->copy_if_modified(from => $_,
to => "blib/databases/$dest",
);
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
inc/MyBuilder.pm view on Meta::CPAN
foreach my $entry (@{ $self->rscan_dir('share') }) {
# Skip hidden entries or folders
next if $entry =~ m,(^|/)\., or -d $entry;
$self->copy_if_modified(
from => $entry,
to => catfile($self->blib, $entry)
);
}
view all matches for this distribution
view release on metacpan or search on metacpan
my $tmpl_dir = File::Spec->catdir($self->blib, 'web');
File::Path::mkpath( $tmpl_dir );
foreach my $file (@$files) {
my $result = $self->copy_if_modified($file, $tmpl_dir)
or next;
#$self->fix_shebang_line($result);
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
my $tmpl_dir = File::Spec->catdir($self->blib, 'web');
File::Path::mkpath( $tmpl_dir );
foreach my $file (@$files) {
my $result = $self->copy_if_modified($file, $tmpl_dir)
or next;
#$self->fix_shebang_line($result);
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
my $tmpl_dir = File::Spec->catdir($self->blib, 'web');
File::Path::mkpath( $tmpl_dir );
foreach my $file (@$files) {
my $result = $self->copy_if_modified($file, $tmpl_dir)
or next;
#$self->fix_shebang_line($result);
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gantry/Build.pm view on Meta::CPAN
my $tmpl_dir = File::Spec->catdir($self->blib, 'web');
File::Path::mkpath( $tmpl_dir );
foreach my $file (@$files) {
my $result = $self->copy_if_modified("$file", $tmpl_dir);
}
}
1;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Build/My.pm view on Meta::CPAN
# Replace *.pl files with ones without suffix
sub process_script_files {
my $self = shift;
local *copy_if_modified = sub {
my $self = shift;
my %args = (@_ > 3 ? (@_) : (from => shift, to_dir => shift, flatten => shift));
# Only for script/*.pl files
if ($args{from} =~ /\bscript\/.*\.pl$/ and $args{to_dir}) {
my (undef, undef, $file) = File::Spec->splitpath($args{from});
$file =~ s/\.pl$//;
$args{to} = File::Spec->catfile($args{to_dir}, $file);
delete $args{to_dir};
return $self->SUPER::copy_if_modified(%args);
}
return $self->SUPER::copy_if_modified(%args);
};
$self->SUPER::process_script_files;
}
view all matches for this distribution
view release on metacpan or search on metacpan
my $self = shift;
my $files = IO::File->new('MANIFEST');
while (<$files>) {
next unless m!^conf/!;
chomp;
$self->copy_if_modified( $_ => 'blib' );
}
}
EOC
my $build = $class->new(
view all matches for this distribution
view release on metacpan or search on metacpan
builder/MyBuilder.pm view on Meta::CPAN
# NOTE:
# XS modules are consist of not only *.xs, but also *.c, *.xsi, and etc.
foreach my $from(glob "$xs_src/*.{c,cpp,cxx,xsi,xsh}") {
my $to = "$xs_build/$from";
$self->add_to_cleanup($to);
$self->copy_if_modified(from => $from, to => $to);
}
$self->SUPER::process_xs_files();
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/can_pass_through_other.t view on Meta::CPAN
can_ok ('Module::Build::Base', 'config_data' );
can_ok ('Module::Build::Base', 'config_dir' );
can_ok ('Module::Build::Base', 'config_file' );
can_ok ('Module::Build::Base', 'conflicts' );
can_ok ('Module::Build::Base', 'contains_pod' );
can_ok ('Module::Build::Base', 'copy_if_modified' );
can_ok ('Module::Build::Base', 'create_build_script' );
can_ok ('Module::Build::Base', 'create_makefile_pl' );
can_ok ('Module::Build::Base', 'create_packlist' );
can_ok ('Module::Build::Base', 'create_readme' );
can_ok ('Module::Build::Base', 'croak' );
t/can_pass_through_other.t view on Meta::CPAN
can_ok ('Module::Build::Base', 'prereq_action_types' );
can_ok ('Module::Build::Base', 'prereq_failures' );
can_ok ('Module::Build::Base', 'prereq_report' );
can_ok ('Module::Build::Base', 'print_build_script' );
can_ok ('Module::Build::Base', 'process_PL_files' );
can_ok ('Module::Build::Base', 'process_files_by_extension' );
can_ok ('Module::Build::Base', 'process_pm_files' );
can_ok ('Module::Build::Base', 'process_pod_files' );
can_ok ('Module::Build::Base', 'process_script_files' );
can_ok ('Module::Build::Base', 'process_support_files' );
can_ok ('Module::Build::Base', 'process_xs' );
view all matches for this distribution
view release on metacpan or search on metacpan
my @list ;
find({wanted => sub { push @list ,$File::Find::name } , no_chdir => 1},"lib/JQuery/jquery_js","lib/JQuery/cgi-bin");
for my $src (@list) {
next if -d $src ;
next if $src =~ /~$/ ;
$self->copy_if_modified( from => $src, to_dir => 'blib') ;
}
#print "PROCESSED JS FILES\n" ;
}
}
);
view all matches for this distribution
view release on metacpan or search on metacpan
inc/MyBuilder.pm view on Meta::CPAN
# Create and prepare for installation the .pc file if not under windows.
_interpolate('jspell.pc.in' => 'jspell.pc',
VERSION => $self->notes('version'),
EXECPREFIX => $self->install_destination('bin'),
LIBDIR => $self->install_destination('usrlib'));
$self->copy_if_modified( from => "jspell.pc",
to_dir => catdir('blib','pcfile'),
flatten => 1 );
$self->copy_if_modified( from => catfile('src','jslib.h'),
to_dir => catdir('blib','incdir'),
flatten => 1);
}
## FIXME - usar o Module::Build para isto?
for (qw.ujspell jspell-dict jspell-to jspell-installdic.) {
$self->copy_if_modified( from => catfile("scripts",$_),
to_dir => catdir('blib','script'),
flatten => 1 );
$self->fix_shebang_line( catfile('blib','script',$_ ));
$self->make_executable( catfile('blib','script',$_ ));
}
inc/MyBuilder.pm view on Meta::CPAN
objects => [ $object ],
extra_linker_flags => "-Lsrc -ljspell $extralinkerflags");
}
for my $file (@toinstall) {
$self->copy_if_modified( from => $file,
to_dir => "blib/bin",
flatten => 1);
}
}
inc/MyBuilder.pm view on Meta::CPAN
}
my $libdir = catdir($self->blib, 'usrlib');
mkpath( $libdir, 0, 0777 ) unless -d $libdir;
$self->copy_if_modified( from => $libfile,
to_dir => $libdir,
flatten => 1 );
}
sub ACTION_test {
view all matches for this distribution
view release on metacpan or search on metacpan
inc/MyBuilder.pm view on Meta::CPAN
# # Create and prepare for installation the .pc file if not under windows.
# _interpolate('jspell.pc.in' => 'jspell.pc',
# VERSION => $self->notes('version'),
# EXECPREFIX => $self->install_destination('bin'),
# LIBDIR => $self->install_destination('usrlib'));
# $self->copy_if_modified( from => "jspell.pc",
# to_dir => catdir('blib','pcfile'),
# flatten => 1 );
# $self->copy_if_modified( from => catfile('src','jslib.h'),
# to_dir => catdir('blib','incdir'),
# flatten => 1);
# }
}
inc/MyBuilder.pm view on Meta::CPAN
_LOG_ " [ld] $exe";
_LD_ $libbuilder => (exe_file => $exepath,
objects => \@deps,
extra_linker_flags => $libs);
$self->copy_if_modified(from => $exepath, to_dir => "blib/script", flatten => 1);
}
}
sub ACTION_create_library {
my $self = shift;
inc/MyBuilder.pm view on Meta::CPAN
}
my $libdir = catdir($self->blib, 'usrlib');
mkpath( $libdir, 0, 0777 ) unless -d $libdir;
$self->copy_if_modified( from => $libfile,
to_dir => $libdir,
flatten => 1 );
}
sub ACTION_create_test_binaries {
view all matches for this distribution
view release on metacpan or search on metacpan
inc/MyBuilder.pm view on Meta::CPAN
return unless -d "treetagger/lib";
my @files = grep { -f $_ } @{$builder->rscan_dir("treetagger/lib")};
for my $file (@files) {
$builder->copy_if_modified( from => $file, to_dir => "blib/treelib", flatten => 1 );
}
}
sub process_sitebin_files {
my $builder = shift;
my @files = grep { -f $_ } @{$builder->rscan_dir("treetagger/bin")};
for my $file (@files) {
chmod 0755, $file;
$builder->copy_if_modified(from=>$file, to_dir=>"blib/sitebin", flatten => 1 );
}
}
sub process_treebin_files {
my $builder = shift;
my @files = grep { -f $_ } @{$builder->rscan_dir("treetagger/cmd")};
for my $file (@files) {
chmod 0755, $file;
$builder->copy_if_modified(from=>$file, to_dir=>"blib/treebin", flatten => 1 );
}
}
"troue";
view all matches for this distribution
view release on metacpan or search on metacpan
inc/InlineBuild.pm view on Meta::CPAN
# find & copy lib tree into blib/lib
my $cfiles = $self->rscan_dir('lib', qr{\.c(pp)?$});
foreach my $file (@$cfiles) {
$self->copy_if_modified(from => $file, to => 'blib/'.$file, verbose => 1);
}
# now the .pm files
my $pmfiles = $self->rscan_dir('lib', qr{\.pm$});
foreach my $file (@$pmfiles) {
view all matches for this distribution
view release on metacpan or search on metacpan
inc/My/Module/Build.pm view on Meta::CPAN
## my ( $self, @args ) = @_;
my ( $self ) = @_; # Arguments not used
$self->depends_on( 'constant_files' );
my $touch;
foreach my $file ( @{ $self->my_pl_files() || [] } ) {
$self->copy_if_modified( from => $file, to => "lib/Mac/$file" )
or next;
print "$file -> lib/Mac/$file\n";
$touch = 1;
}
if ( $touch ) {
view all matches for this distribution
view release on metacpan or search on metacpan
my $pw_dst = 'blib/lib/Mac/QuickBundle/PerlWrapper';
for my $file ( qw(Source/PerlInterpreter.c Source/PerlInterpreter.h
Source/main.c Tools/update_dylib_references.pl
Resources/PerlWrapperApp.icns) ) {
$self->copy_if_modified( from => "$pw_src/$file",
to => "$pw_dst/$file" );
}
}
EOT
view all matches for this distribution
view release on metacpan or search on metacpan
{
wanted => sub {
$File::Find::prune = 1 if -d and /\.svn$/; # Exclude .svn/ dirs.
return if not -f; # Handle files only.
my $destination = $self->copy_if_modified(
from => $File::Find::name,
to => File::Spec->catfile($self->blib, $File::Find::name)
);
return if not defined($destination); # Already up to date?
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Siesta/Build.pm view on Meta::CPAN
my @files = $self->_find_extras;
print "installing extras to $path\n";
for (@files) {
$FAKE
? print "$_ -> $path/$_ (FAKE)\n"
: $self->copy_if_modified($_, $path);
}
}
sub ACTION_cover {
my $self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Marpa/R2/Build_Me.pm view on Meta::CPAN
} ## end if ( not $self->up_to_date( [$gp_generate_pl], $gp_xsh...))
} ## end if ($development_mode)
my $dest_gp_xsh =
File::Spec->catfile( $spec->{src_dir}, 'general_pattern.xsh' );
$self->copy_if_modified( from => $gp_xsh, to => $dest_gp_xsh, );
# .xs -> .c
$self->add_to_cleanup( $spec->{c_file} );
my @libmarpa_build_dir = File::Spec->splitdir( $self->base_dir );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Module/Build/IkiWiki.pm view on Meta::CPAN
if ($_fake_install) {
print "Installing ${to_file}\n";
}
else {
$self->copy_if_modified( from => $source,
to => $to_file );
}
}
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Module/Build/JSAN/Installable.pm view on Meta::CPAN
my $files = $self->rscan_dir($static_dir, sub {
!-d $_
});
foreach my $file (@$files) {
$self->copy_if_modified(from => $file, to => File::Spec->catfile($self->blib, 'lib', $self->dist_name_as_dir, $file) );
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Module/Build/PM_Filter.pm view on Meta::CPAN
### filter to a temporary file
my $temp_source = File::Temp->new();
$self->_do_filter( $file, $temp_source );
### and install into the distribution directory
$self->copy_if_modified( from => $temp_source, to => $derived );
}
}
return;
}
lib/Module/Build/PM_Filter.pm view on Meta::CPAN
$self->_do_filter( $file, $tmp_from );
$self->fix_shebang_line( $tmp_from );
$self->make_executable( $tmp_from );
# ... previous to the canonical installation
$self->copy_if_modified( from => $tmp_from, to_dir => $script_dir );
}
}
return;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Module/Build/Base.pm view on Meta::CPAN
$self->autosplit_file($_, $blib) for ref($split) ? @$split : ($split);
}
foreach my $element (@{$self->build_elements}) {
my $method = "process_${element}_files";
$method = "process_files_by_extension" unless $self->can($method);
$self->$method($element);
}
$self->depends_on('config_data');
}
lib/Module/Build/Base.pm view on Meta::CPAN
$self->log_info("Building " . $self->dist_name . "\n");
$self->depends_on('code');
$self->depends_on('docs');
}
sub process_files_by_extension {
my ($self, $ext) = @_;
my $method = "find_${ext}_files";
my $files = $self->can($method) ? $self->$method() : $self->_find_file_by_type($ext, 'lib');
foreach my $file (sort keys %$files) {
$self->copy_if_modified(from => $file, to => File::Spec->catfile($self->blib, $files->{$file}) );
}
}
sub process_support_files {
my $self = shift;
lib/Module/Build/Base.pm view on Meta::CPAN
# root for all File::ShareDir paths
my $share_prefix = File::Spec->catdir($self->blib, qw/lib auto share/);
# copy all share files to blib
foreach my $file (sort keys %$files) {
$self->copy_if_modified(
from => $file, to => File::Spec->catfile( $share_prefix, $files->{$file} )
);
}
}
lib/Module/Build/Base.pm view on Meta::CPAN
croak 'Can\'t build xs files under --pureperl-only' if %$files && $self->pureperl_only;
foreach my $from (sort keys %$files) {
my $to = $files->{$from};
unless ($from eq $to) {
$self->add_to_cleanup($to);
$self->copy_if_modified( from => $from, to => $to );
}
$self->process_xs($to);
}
}
sub process_pod_files { shift()->process_files_by_extension(shift()) }
sub process_pm_files { shift()->process_files_by_extension(shift()) }
sub process_script_files {
my $self = shift;
my $files = $self->find_script_files;
return unless keys %$files;
my $script_dir = File::Spec->catdir($self->blib, 'script');
File::Path::mkpath( $script_dir );
foreach my $file (sort keys %$files) {
my $result = $self->copy_if_modified($file, $script_dir, 'flatten') or next;
$self->fix_shebang_line($result) unless $self->is_vmsish;
$self->make_executable($result);
}
}
lib/Module/Build/Base.pm view on Meta::CPAN
File::Spec->rel2abs( $dir ) );
my $to_file =
File::Spec->catfile( $ppm, 'blib',
exists( $types{$type} ) ? $types{$type} : $type,
$rel_file );
$self->copy_if_modified( from => $file, to => $to_file );
}
}
foreach my $type ( qw(bin lib) ) {
$self->htmlify_pods( $type, File::Spec->catdir($ppm, 'blib', 'html') );
lib/Module/Build/Base.pm view on Meta::CPAN
$self->log_info("Creating $dist_dir\n");
$self->add_to_cleanup($dist_dir);
foreach my $file (sort keys %$dist_files) {
next if $file =~ m{^MYMETA\.}; # Double check that we skip MYMETA.*
my $new = $self->copy_if_modified(from => $file, to_dir => $dist_dir, verbose => 0);
}
$self->do_create_bundle_inc if @{$self->bundle_inc};
$self->_sign_dir($dist_dir) if $self->{properties}{sign};
lib/Module/Build/Base.pm view on Meta::CPAN
warn "'Argument list' was 'too long', env lengths are $env_entries";
}
return !$status;
}
sub copy_if_modified {
my $self = shift;
my %args = (@_ > 3
? ( @_ )
: ( from => shift, to_dir => shift, flatten => shift )
);
$args{verbose} = !$self->quiet
unless exists $args{verbose};
my $file = $args{from};
unless (defined $file and length $file) {
die "No 'from' parameter given to copy_if_modified";
}
# makes no sense to replicate an absolute path, so assume flatten
$args{flatten} = 1 if File::Spec->file_name_is_absolute( $file );
lib/Module/Build/Base.pm view on Meta::CPAN
} elsif (defined $args{to_dir} and length $args{to_dir}) {
$to_path = File::Spec->catfile( $args{to_dir}, $args{flatten}
? File::Basename::basename($file)
: $file );
} else {
die "No 'to' or 'to_dir' parameter given to copy_if_modified";
}
return if $self->up_to_date($file, $to_path); # Already fresh
{
view all matches for this distribution