X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=author%2Fgenerate-mouse-tiny.pl;h=469032a7d4c4bc91e86f0f19dcc05b3206441cf3;hb=e0541d44a603aa8deea3eeef22c486a9c5a15c34;hp=d3a654d3b6a0267962d878a54cc324e454a2782c;hpb=07d18a6b15d6d937a78ecd2dd24f5375f0096766;p=gitmo%2FMouse.git diff --git a/author/generate-mouse-tiny.pl b/author/generate-mouse-tiny.pl index d3a654d..469032a 100755 --- a/author/generate-mouse-tiny.pl +++ b/author/generate-mouse-tiny.pl @@ -4,13 +4,21 @@ use warnings; use File::Find; use File::Slurp 'slurp'; use List::MoreUtils 'uniq'; +use autodie; -unlink 'lib/Mouse/Tiny.pm'; +unlink 'lib/Mouse/Tiny.pm' + if -e 'lib/Mouse/Tiny.pm'; my @files; find({ - wanted => sub { push @files, $_ if -f $_ && !/Squirrel|\.sw[po]$/ }, + wanted => sub { + push @files, $_ + if -f $_ + && !/Squirrel/ + && !/\bouse/ + && !/\.sw[po]$/ + }, no_chdir => 1, }, 'lib'); @@ -21,7 +29,6 @@ for my $file (uniq 'lib/Mouse/Util.pm', sort @files) { $contents =~ s/__END__\b.*//s; # remove documentation $contents =~ s/1;\n*$//; # remove success indicator - $contents =~ s/^.*\n//; # remove shebang $contents =~ s/^use Mouse\S*\s*\n//mg; # we're already loading everything $contents =~ s/^use (Mouse\S*)\s*(.+);/BEGIN { $1->import($2) }/mg; @@ -36,7 +43,7 @@ print { $handle } << 'EOF'; # if regular Mouse is loaded, bail out unless ($INC{'Mouse.pm'}) { -eval q{ +eval <<'END_OF_TINY'; # tell Perl we already have all of the Mouse files loaded: EOF @@ -50,7 +57,7 @@ print { $handle } "\n# and now their contents\n\n"; print { $handle } $mouse_tiny; -print { $handle } "}; #eval\n} #unless\n\n"; +print { $handle } "END_OF_TINY\n} #unless\n\n"; print { $handle } << 'EOF'; package Mouse::Tiny;