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.009004'; # 0.9.4
+our $VERSION = '0.009006'; # 0.9.6
$VERSION = eval $VERSION;
$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;
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;
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;
}
}
See the documentation for the L<fatpack> 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