X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FApp%2FFatPacker.pm;h=62a1612c67b4221230fd56deda1536786c32f03d;hb=3fdf85cab9fd27ad5e7d5141e197b9832d6b9394;hp=aa3caefffe9a9b3b011ffbd61907c7eaa86686cf;hpb=002ecfea279e0e4db46718a0b499f76155439e16;p=p5sagit%2FApp-FatPacker.git diff --git a/lib/App/FatPacker.pm b/lib/App/FatPacker.pm index aa3caef..62a1612 100644 --- a/lib/App/FatPacker.pm +++ b/lib/App/FatPacker.pm @@ -10,10 +10,10 @@ use File::Spec::Functions qw( catdir splitpath splitdir catpath rel2abs abs2rel ); use File::Copy qw(copy); -use File::Path qw(make_path remove_tree); +use File::Path qw(mkpath rmtree); use B qw(perlstring); -our $VERSION = '0.009003'; # 0.9.3 +our $VERSION = '0.009006'; # 0.9.6 $VERSION = eval $VERSION; @@ -65,23 +65,27 @@ sub script_command_trace { $args = call_parser $args => [ 'to=s' => \my $file, 'to-stderr' => \my $to_stderr, + 'use=s' => \my @additional_use ]; die "Can't use to and to-stderr on same call" if $file && $to_stderr; - (my $use_file = $file) ||= 'fatpacker.trace'; - if (!$to_stderr and -e $use_file) { - unlink $use_file or die "Couldn't remove old trace file: $!"; + $file ||= 'fatpacker.trace'; + if (!$to_stderr and -e $file) { + unlink $file or die "Couldn't remove old trace file: $!"; } my $arg = do { - if ($file) { - "=>>${file}" - } elsif ($to_stderr) { + if ($to_stderr) { "=>&STDERR" - } else { - "" + } elsif ($file) { + "=>>${file}" } }; + + if(@additional_use) { + $arg .= "," . join ",", @additional_use; + } + { local $ENV{PERL5OPT} = '-MApp::FatPacker::Trace'.$arg; system $^X, @$args; @@ -119,8 +123,8 @@ sub script_command_tree { sub packlists_to_tree { my ($self, $where, $packlists) = @_; - remove_tree $where; - make_path $where; + rmtree $where; + mkpath $where; foreach my $pl (@$packlists) { my ($vol, $dirs, $file) = splitpath $pl; my @dir_parts = splitdir $dirs; @@ -139,7 +143,7 @@ sub packlists_to_tree { next unless substr($source,0,length $pack_base) eq $pack_base; my $target = rel2abs( abs2rel($source, $pack_base), $where ); my $target_dir = catpath((splitpath $target)[0,1]); - make_path $target_dir; + mkpath $target_dir; copy $source => $target; } } @@ -203,7 +207,7 @@ App::FatPacker - pack your dependencies onto your script file See the documentation for the L script itself for more information. -The programmatic API for this code is not yet fully decided, hence the 0.9.1 +The programmatic API for this code is not yet fully decided, hence the 0.9 release version. Expect that to be cleaned up for 1.0. =head1 SUPPORT